python中的scaler_使用时值错误scaler.inverse_变换在Python中
我是神經(jīng)網(wǎng)絡(luò)的初學(xué)者,對(duì)縮放矩陣后端的數(shù)學(xué)不是很了解scaler.inverse_變換. 我正在使用一個(gè)教程來對(duì)我的數(shù)據(jù)應(yīng)用LSTM,并預(yù)測(cè)其中一個(gè)變量的時(shí)間序列。當(dāng)我縮放時(shí),我在預(yù)測(cè)上遇到了這個(gè)問題。代碼如下。在
我就是這樣訓(xùn)練數(shù)據(jù)的。在from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
# split into train and test sets
values = reframed.values
n_train_sec = 5000
train = values[:n_train_sec, :]
test = values[n_train_sec:, :]
# split into input and outputs
train_X, train_y = train[:, :-1], train[:, -1]
test_X, test_y = test[:, :-1], test[:, -1]
# reshape input to be 3D [samples, timesteps, features]
train_X = train_X.reshape((train_X.shape[0], 1, train_X.shape[1]))
test_X = test_X.reshape((test_X.shape[0], 1, test_X.shape[1]))
print(train_X.shape, train_y.shape, test_X.shape, test_y.shape)
我就是這樣設(shè)計(jì)模型的。在
^{pr2}$
這就是我試圖預(yù)測(cè)的from math import sqrt
from numpy import concatenate
# make a prediction
yhat = model.predict(test_X)
test_X = test_X.reshape((test_X.shape[0], test_X.shape[2]))
# invert scaling for forecast
inv_yhat = concatenate((yhat, test_X[:, 1:]), axis=1)
inv_yhat = scaler.inverse_transform(inv_yhat)
inv_yhat = inv_yhat[:,0]
# invert scaling for actual
test_y = test_y.reshape((len(test_y), 1))
inv_y = concatenate((test_y, test_X[:, 1:]), axis=1)
inv_y = scaler.inverse_transform(inv_y)
inv_y = inv_y[:,0]
# calculate RMSE
rmse = sqrt(mean_squared_error(inv_y, inv_yhat))
print('Test RMSE: %.3f' % rmse)
我得到了。在ValueError: operands could not be broadcast together with shapes (4599,12)
(11,) (4599,12)
最初測(cè)試的形狀是(4599,1,12)。如果有人有興趣了解更多關(guān)于數(shù)據(jù),我可以發(fā)送數(shù)據(jù)和iPython文件的html。在
總結(jié)
以上是生活随笔為你收集整理的python中的scaler_使用时值错误scaler.inverse_变换在Python中的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于接入层交换机启用STP或是Loopb
- 下一篇: 值得收藏的十种常用的CSS框架,快码住!