我已经将我的数据集拆分成了X_train和y_train Dataframe ,它们的形状分别为(371,5)和(371,),但我不明白为什么我总是得到上面的错误。代码如下:
`
import tensorflow as tf #machine learning
from sklearn import metrics
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(1, 5)))
model.add(tf.keras.layers.Dense(200, activation = 'sigmoid'))
model.add(tf.keras.layers.Dense(3, activation='softmax'))
opt = tf.keras.optimizers.SGD(learning_rate=0.9)
model.compile(optimizer=opt,loss=tf.keras.losses.SparseCategoricalCrossentropy())
model.fit(X_train, y_train, epochs=10)
我不知道如何使它成为一个有效的输入到一个顺序层,我已经尝试了解决方案,从以前的职位,如使用
X_train[1]作为一个参数在
model.fit`无济于事。
1条答案
按热度按时间goucqfw61#
输入形状应该是单个样本的形状。在下面的示例中,输入数据有4行5列。每行代表一个样本,样本大小为(5,)。因此,第一层的输入形状应该是(5,)。
请相应地更改
input_shape
。谢谢!