【问题标题】:how to understand the precision metric of sklearn?如何理解sklearn的精度指标?
【发布时间】:2016-06-21 02:03:11
【问题描述】:

您好,我正在与 sklearn 合作,为了更好地理解指标,我遵循了以下precision_score 示例:

from sklearn.metrics import precision_score
y_true = [0, 1, 2, 0, 1, 2]

y_pred = [0, 2, 1, 0, 0, 1]
print(precision_score(y_true, y_pred, average='macro'))  

我得到的结果如下:

0.222222222222

但我无法理解 sklearn 是如何计算这个结果的,因为在官方页面中说这是计算下一个公式:tp / (tp + fp) 其中 tp 是真阳性的数量,而 fp 是假阳性的数量,但是还使用称为“宏”的参数计算每个标签的指标,并找到它们的未加权平均值,这不考虑标签不平衡。 感谢您的支持,我将不胜感激此示例的任何解释。

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    第一步是计算您拥有的每个标签的精度:

    • 标签 0 的精度为 tp / (tp + fp) = 2 / (2 + 1) = 0.66
    • 标签 1 的精度为 0 / (0 + 2) = 0
    • 标签 2 的精度为 0 / (0 + 1) = 0

    最后一步是计算所有三个标签的平均精度:precision = (0.66 + 0 + 0) / 3 = 0.22

    【讨论】:

    • 感谢支持,阿列克谢的解释很清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 2019-05-22
    • 2020-09-03
    • 2021-01-09
    • 1970-01-01
    相关资源
    最近更新 更多