作者yanwu0105 (輝飛)
看板DataScience
標題[問題] LSTM多對多預測 輸入資料結構問題
時間Thu Oct 25 21:24:44 2018
作業系統:ubuntu
(ex:mac,win10,win8,win7,linux,etc...)
問題類別:LSTM
(ex:ML,SVM,RL,DL,RNN,CNN,NLP,BD,Vis,etc...)
使用工具:python
(ex:python,Java,C++,tensorflow,keras,MATLAB,etc...)
各位大大晚安
目前正在學習LSTM多對多預測,手邊有一組"48期交易金額"的資料,1000名顧客,共
48000筆資料
想要把48期切分成36期訓練,12期測試
並且利用1~35期當作預測X,Y為2~36期的金額
import 進 模型的Shape:
trainX:(1000,1,35)
trainY:(1000,35)
訓練模型程式碼如下:
model = Sequential()
model.add(LSTM(4, input_shape=(35,1)))
model.add(Dense(35))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(trainX, trainY, epochs=100, batch_size=1, verbose=2)
error 代碼如下:ValueError: Error when checking input: expected lstm_9_input to have shape
(35, 1) but got array with shape (1, 35)
不知道是否是多對多時輸入資料的型態錯誤,或者是哪裡沒有搞懂?
麻煩各位大大解答,感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.119.78.38
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1540473886.A.5E2.html
→ mai2338: Input_shape=(1,35) 10/25 21:42
→ yoyololicon: trainX: (1000, 35, 1) 10/25 21:47
推 germun: 看不懂你的切分什麼意思 不過你data shape不對 10/27 18:47
推 bor1286: 訓練集給(1,35) 卻要模型吃(35,1) 棒! 11/03 14:14
→ bor1286: 然後fit時不用validation觀察一下? 11/03 14:16