gpt4 book ai didi

python - 没有预测样本的标签中出现警告 : Precision and F-score are ill-defined and being set to 0. 0。使用 `zero_division` 参数

转载 作者:行者123 更新时间:2023-12-02 18:37:43 24 4
gpt4 key购买 nike

谁能帮我解决这个错误:

Warning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use zero_division parameter to control this behavior._warn_prf(average, modifier, msg_start, len(result))

当我添加 Adam 的调整参数时出现错误。

#tunning parameter from keras.optimizers import Adam
optimize = Adam(learning_rate=0.00001,beta_1=0.9,beta_2=0.99)
model.compile(optimizer=optimize,loss='categorical_crossentropy', metrics=['accuracy'])

有没有人明白这段代码的错误?

from sklearn.metrics import confusion_matrix, classification_report
prediksi = model.predict(test_data_generator)
y_pred = np.argmax(prediksi, axis=1)
print(confusion_matrix(test_data_generator.classes,y_pred))
print(classification_report(test_data_generator.classes,y_pred))

我也试过使用 labels=np.unique(y_pred) 但结果没有显示 accuracy 的值

最佳答案

出现此警告是因为 y_true 包含您的预测 (y_pred) 中不存在的标签,如下例所示:

import numpy as np
from sklearn.metrics import confusion_matrix, classification_report

y_pred = np.ones(10,)
y_true = np.ones(10,)
y_true[0]=0
print(confusion_matrix(y_true,y_pred))
print(classification_report(y_true,y_pred))

您可以通过设置 classification_report 参数zero_division=1 来移除此警告。

但这并不明智,因为它表明您的分类器存在问题。

关于python - 没有预测样本的标签中出现警告 : Precision and F-score are ill-defined and being set to 0. 0。使用 `zero_division` 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68534836/

24 4 0