如何修改model.fit设置?

How to modify model.fit settings?

嗨,我的代码过去 运行 很好,直到我更改了数据集。现在,我在 :

处收到错误
model.fit(train,train_df.iloc[:,-1],epochs=30, batch_size=20, verbose=1)

错误是:

ValueError: Error when checking input: expected dense_31_input to have shape (1125,) but got array with shape (103,)

变量是:

enter image description here

scaler = StandardScaler()

train=scaler.fit_transform(train_df.iloc[:,:-1])
test=scaler.fit_transform(test_df.iloc[:,:-1])

# Creating Deep Model



model = Sequential()

# Add an input layer
model.add(Dense(562, activation='relu', input_shape=(1125,)))

# Add one hidden layer
model.add(Dense(562, activation='relu'))
model.add(BatchNormalization())

# Add an output layer
model.add(Dense(1, activation='sigmoid'))

#add improvements 

model.add(Dropout(0.3))
#Train the model

model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])

model.fit(train,train_df.iloc[:,-1],epochs=30, batch_size=20, verbose=1)

#TEst the model

y_pred = model.predict(test_df.iloc[:,:-1])

我想修复它。我需要更改 batch_size 和时代?但是应该使用什么数字?

一般来说,模型假定输入数据的第一个维度是批量大小。模型并不关心批量大小,因此您在创建模型时永远不会设置它。相反,您应该将 input_shape 设置为输入数据的 每个样本 的形状。在您的情况下,每个样本似乎都是长度为 103 的向量,因此将 input_shape 设置为 (103,)