我正在尝试与Keras进行深度学习(菜鸟)。我尝试在加载数据集(培训和测试)后创建模型。我的代码:
scaler = StandardScaler().fit(train)
train=scaler.transform(train)
test=scaler.transform(test)
# Creating Deep Model
model = Sequential()
# Add an input layer
model.add(Dense(12, activation='relu', input_shape=(11,)))
# Add one hidden layer
model.add(Dense(8, activation='relu'))
# Add an output layer
model.add(Dense(1, activation='sigmoid'))
#add improvements
model.add(BatchNormalization())
model.add(Dropout(0.5))
#Train the model
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=
['accuracy'])
model.fit(train,train_targets,epochs=20, batch_size=1, verbose=1)
但是,我在最后一行收到错误消息:
ValueError:检查输入时出错:预期density_1_input具有形状(11,)但形状为(211,)的数组
错误是什么意思?可能是什么原因造成的?
答案 0 :(得分:0)
这意味着您可以通过将超参数设置为input_shape = (11,)
来设置第一层以期望输入形状(11,),然后为模型提供等于train
的形状。尝试使用:train.shape
并检查形状以确保模型可以使用它。您可能需要检查答案Keras input explanation: input_shape, units, batch_size, dim, etc,以确保您了解神经网络超参数的核心概念。