作者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://webptt.com/cn.aspx?n=bbs/DataScience/M.1540473886.A.5E2.html
1F:→ mai2338: Input_shape=(1,35) 10/25 21:42
3F:→ yoyololicon: trainX: (1000, 35, 1) 10/25 21:47
4F:推 germun: 看不懂你的切分什麽意思 不过你data shape不对 10/27 18:47
5F:推 bor1286: 训练集给(1,35) 却要模型吃(35,1) 棒! 11/03 14:14
6F:→ bor1286: 然後fit时不用validation观察一下? 11/03 14:16