簡體   English   中英

NN: AttributeError: 'History' object 沒有屬性 '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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM