簡體   English   中英

預測下一個結果 MLP 神經網絡 Python

[英]Predict the next outcome MLP neural network Python

我正在嘗試預測我的數據集序列中的下一組數字,但是使用預測 function 對整個數據集進行分類,如何更改我的代碼以預測序列中的下一個結果?

我正在關注本教程,他的 model 基於 50,60,70 作為他的數據集輸出 80。 然而我的只是預測整個數據集? 如何開始使用深度學習進行時間序列預測(7 天迷你課程)

這是我的數據集

在此處輸入圖像描述

這是代碼:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import classification_report,confusion_matrix

from numpy import loadtxt
from keras.models import Sequential
from keras.layers import Dense
# load the dataset
col_names = ['N1', 'N2', 'N3', 'N4', 'N5', 'L1', 'L2','label']
# load dataset 
pima = pd.read_csv("dataset.csv", header=None, names=col_names)
pima.head()

feature_cols = ['N1', 'N2', 'N3', 'N4', 'N5', 'L1', 'L2']
X = pima[feature_cols] # Features
y = pima.label 

model = Sequential()
model.add(Dense(122, input_dim=7, activation='relu'))
model.add(Dense(20, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X, y, epochs=2000, batch_size=10)
# =======================
_, accuracy = model.evaluate(X, y)
print('Accuracy: %.2f' % (accuracy*100))

yhat = model.predict(X, verbose=0)
print(yhat) <- this outputs the predictions for the entire dataset and not the next prediction

編輯:

對於整個數據集,我得到的 output 就是這個。

在此處輸入圖像描述

數據集從 1 行到 1251 行,我想用 N1、N2、N3、N4、N5、L1、L2 的 output 預測第 1252 行。

您將 sigmoid 激活作為您的最后一層,它提供范圍 [-1, 1] 的輸出,這不是您想要的最后一層,因為您正在預測下一個數字。

model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

嘗試將其更改為

model.add(Dense(1))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

另外,對於此類任務,您最好使用 MSE loss function,BCE 更多用於分類任務,您可以在這里查看

為什么交叉熵方法優於均方誤差? 這在什么情況下不成立?

model.compile(loss='mse', optimizer='adam', metrics=['accuracy'])

希望這能解決你的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM