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

在机器学习中的最常用的指标 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

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

原文链接:https://beltxman.com/3973.html

若无特殊说明本站内容为 行星带 原创,未经同意请勿转载。

发表评论

您的电子邮箱地址不会被公开。

Scroll to top