【问题标题】:Format Classification Report to Display Different Metric格式化分类报告以显示不同的指标
【发布时间】:2020-09-19 06:35:28
【问题描述】:

所以我有一份分类报告,我目前正在使它显示整体准确度到小数点后两位。我想将其更改为显示 Precision。但是,这是否可能,因为它在技术上已经显示了包括精度在内的其他指标?

当前代码

print(classification_report(y_train, y_pred, target_names = target_names))
print('Accuracy {:.2f}'.format(accuracy_score(y_train, y_pred)))

我希望它变成

print(classification_report(y_train, y_pred, target_names = target_names))
print('Accuracy {:.2f}'.format(precision_score(y_train, y_pred)))

当我尝试这个时,我得到了错误。我已经尝试在 Sklearn 上查阅文档,但我找不到任何东西。任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • 您遇到的错误是什么? btw classification_report 本身具有精度值。
  • 它指出'NameError:名称'Precision_score'未定义'。有人告诉我可以将其从 Accuracy 切换到 Precision,但我找不到说明如何操作的信息。我只想知道我是否真的可以将 .format() 从 Accuracy 更改为 Precision。
  • 您是否从sklearn.metrics 导入了precision_score
  • 没有。我将在今天晚些时候尝试一下,看看效果如何。
  • 所以我导入了它,我确实使用它,但我得到这个错误'ValueError:目标是多类但平均='二进制'。请选择另一个平均设置,[None, 'micro', 'macro', 'weighted'] 之一。所以我想我需要解决它,它应该可以工作。

标签: python scikit-learn report artificial-intelligence classification


【解决方案1】:

解决方案是声明以下导入

from sklearn.metrics import classification_report, accuracy_score, precision_score

然后在我的分类报告下面写下,并在阅读这篇文章后指定我想要的结果类型:

ValueError: Target is multiclass but average='binary'. Please choose another average setting

print('TEXT: {:.2f}'.format(precision_score(y_train, y_pred, average='weighted')))

【讨论】:

    猜你喜欢
    • 2014-03-28
    • 1970-01-01
    • 2015-07-26
    • 2020-05-04
    • 2022-10-08
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多