AI编程生活评测

机器学习训练指标:Precision、Recall、F1 score

编程笔记 / 2023-11-07 / 2 min
在机器学习中的最常用的指标 Precision、Recall、F1 score。
Precision:精度,精确度 Recall: 召回率,查全率 F1 score:由 Precision 和 Recall 加权后的指标

概念理解

为了解释这几个指标,引入以下概念:
实际情况
预测结果 Positive Negative
Positive True Positive (TP) False Positive (FP)
Negative False Negative (FN) True Negative (TN)
这么理解: 实际情况:有100个苹果,其中90个是好的(P),10个是坏的(N); 预测结果:预测出88个好的,其中85个真的是好的(TP),3个坏的(FP);预测出12个坏的,其中5个好的(FN),7个坏的(TN)。

Precision 计算

Precision精度表示在预测为Positive的样本里面,有多少确实是Positive的(TP): $Precision = \frac {TP}{TP + FP}$ 针对上面的示例,可以计算得到: $Precision = \frac {85}{85 + 3}\approx 0.965909$

Recall 计算

Recall 查全率表示Positive的样本有多少被预测出来了: $Recall = \frac {TP}{P}$ 针对上面的示例,可以计算得到: $Recall = \frac {85}{90}\approx 0.944444$

F1 score 计算

鉴于Precision和Recall指标都有可能会出现极端情况: 比如在上面的示例中,预测出10个最有可能是好的苹果是好的,那么这次预测的 Precision 值将会是100%。 还是上面的例子,把所有的苹果都预测为好的,那么这次预测的 Recall 值将会是100%。 由此可见,这两个指标都不是很全面,这时候就需要用到 F-Measure 这个指标,这个指标的计算公式: $F = \frac {(α^2 + 1) * Precision * Recall}{α^2 * Precision + Recall} $ 可以看到 F-Measure 经过加权调和两个指标之后得到的,其中参数 α 越大则 Recall 的权重越高,当 α = 1 时,得到的也就是我们常用的 F1 score 指标了。 针对上面的示例,可以计算出: $F1 = \frac {2 * 0.965909 * 0.944444}{0.965909 + 0.944444} \approx 0.955056$
点击刷新