![](/img/trans.png)
[英]Keras AttributeError: 'History' object has no attribute 'predict'
[英]NN: AttributeError: 'History' object has no attribute 'predict'
我嘗試使用 Keras 進行簡單的二進制分類。 為此,我創建了一個簡單的神經網絡。
#hyperparameters
hidden_units=100
learning_rate=0.01
hidden_layer_act='tanh'
output_layer_act='sigmoid'
no_epochs=100
#model
model = Sequential()
model.add(Dense(hidden_units, input_dim=len(X_train.columns), activation=hidden_layer_act))
model.add(Dense(hidden_units, activation=hidden_layer_act))
model.add(Dense(1, activation=output_layer_act))
#model.summary()
sgd=optimizers.SGD(lr=learning_rate)
model.compile(loss='binary_crossentropy',optimizer=sgd, metrics=['accuracy'])
es = EarlyStopping(monitor='val_accuracy',
mode='max', # don't minimize the accuracy!
patience=10,
restore_best_weights=True)
model = model.fit(X_train,
y_train,
epochs=no_epochs,
callbacks=[es],
batch_size=5,
verbose=1,
shuffle=True)
y_pred = model.predict(X_test)
但我收到此錯誤:
AttributeError: 'History' object has no attribute 'predict'
我已經在這里嘗試了可用的解決方案。 但它不起作用。 我不明白我在這里做錯了什么。 請指導我。
model.fit
返回歷史 object ,其中包含有關培訓的信息。 它不返回 model 。
所以model = model.fit()
將覆蓋變量並且不再指向您的實際 model,因此.predict
將不起作用。
做:
history = model.fit(X_train,
y_train,
epochs=no_epochs,
callbacks=[es],
batch_size=5,
verbose=1,
shuffle=True)
y_pred = model.predict(X_test)
或者如果您對變量不感興趣,則只寫model.fit
而不分配它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.