我正在使用顺序神经网络,也许这就是问题所在。请查看以下代码 -
type(train)
pandas.core.frame.DataFrame
train.shape
(933, 38)
features = df1.columns[:37]
x = np.array(train[features])
y = np.array(train[37])
x.shape
(933L, 37L)
y.shape
(933L,)
model = Sequential()
model.add(Dense(32, input_shape=(933, 38)))
model.add(Dense(10, activation='softmax'))
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'],
sample_weight_mode="temporal")
model.fit(x=x, y=y, batch_size=50, verbose=1)
然后我收到以下错误 -
ValueError: Error when checking model input: expected dense_21_input to have 3 dimensions, but got array with shape (933L, 37L)
答案 0 :(得分:3)
样本维度(第一个)不属于input_shape
,因此您可以通过将此行更改为:
model.add(Dense(32, input_shape=(38, )))
这告诉Keras在训练时确定38个维度的输入,样本数量可变。
(请查看评论以获得进一步的帮助)