我正在玩一些深度学习,而 Keras 是我的选择,因为它很简单。
我为二进制分类构建了一个简单的多层感知器模型,并将其安装在输入数据上(与我用于其他 ML 模型的相同,并且工作正常)。
下图显示了模型摘要:
第一个密集层定义如下:
model.add(Dense(18, input_dim=len(X_encoded.columns), activation = "relu", kernel_initializer="uniform"))
当我尝试像这样预测循环时:
for vals in X_encoded.values:
print("Survives?", model.predict([vals], batch_size=1))
我收到以下错误:
ValueError:检查输入时出错:预期dense_90_input的形状为(35,)但得到的数组形状为(1,)
这些是我的可变尺寸:
print("Shape of vals:", vals.shape, "Number of Columns and First Layer Dimension:", len(X_encoded.columns))
结果:
vals 的形状:(35,)列数和第一层尺寸:35
如您所见,这些匹配的大小是预期的输入。
到底是怎么回事?当我传递整个数据框“预测”时,它可以正常工作,但当我传递单个值时则不行......
