sklearn分类报告中的数字是什么意思?

机器算法验证 机器学习 Python scikit-学习 精确召回
2022-01-28 12:40:44

下面是我从 sklearn 的 sklearn.metrics.classification_report 文档中提取的示例。

我不明白为什么我认为类是预测标签的每个类都有 f1 分数、精度和召回值?我认为 f1 分数可以告诉您模型的整体准确性。另外,支持栏告诉我们什么?我找不到任何相关信息。

print(classification_report(y_true, y_pred, target_names=target_names))
             precision    recall  f1-score   support

    class 0       0.50      1.00      0.67         1
    class 1       0.00      0.00      0.00         1
    class 2       1.00      0.67      0.80         3

avg / total       0.70      0.60      0.61         5
1个回答

f1 分数为您提供准确率和召回率的调和平均值。每个类对应的分数将告诉您分类器在分类该特定类中的数据点时与所有其他类相比的准确性。

支持度是该类中真实响应的样本数。

您可以在 sklearn 文档中找到有关这两种措施的文档。

支持 - http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html

F1 分数 - http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html

编辑

最后一行给出了精度、召回率和 f1 分数的加权平均值,其中权重是支持值。所以为了精度,平均值是(0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70总数仅用于总支持,此处为 5。