机器学习 - 分类器性能评估指标
机器学习中,如何评估一个分类器的性能优劣?常用的一些指标有:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F 值(F-Measure)等。这些概念比较容易搞混,下面我们就来看看这些指标的区别。
机器学习中,如何评估一个分类器的性能优劣?常用的一些指标有:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F 值(F-Measure)等。这些概念比较容易搞混,下面我们就来看看这些指标的区别。
混淆矩阵
通常我们关注的类为正类,其他类为负类,所以分类器在测试数据集上的结果会有这四种情况:
Positive | Negative | |
---|---|---|
True | True Positive(TP) | True Negative(TN) |
False | False Positive(FP) | False Negative(FN) |
- TP:将正类预测为正类的样本数;
- FN:将正类预测为负类的样本数;
- FP:将负类预测为正类的样本数;
- TN:将负类预测为负类的样本数;
准确率(Accuracy)
准确率描述了分类器对整个样本的预估能力,即正类能预测为正类,负类能预测为负类。计算公式如下:
$$Accuracy = \frac{TP+TN}{TP+FN+FP+TN}$$
精确率(Precision)
精确率是针对预测结果而言的,它表示的是预测为正类的样本中,有多少是真正的正类。计算公式如下:
$$Precision = \frac{TP}{TP+FP}$$
召回率(Recall)
召回率是针对样本而言的,表示样本中有多少正类被正确预测了。计算公式如下:
$$Recall = \frac{TP}{TP+FN}$$
F 值(F-Measure)
通常来说,我们希望 Precision 越高的同时 Recall 也越高越好,但是这两者并不能如我们所愿,有时会出现其中一个比较高,一个比较低的情况,互相矛盾。这样我们就必须综合考虑这两个值,那就是 F 值,即综合评价指标。计算公式如下:
$$F = \frac{(\alpha^2+1)P*R}{(\alpha^2P+R)}$$
- 当 \(\alpha=0.5\) 时,$F_{0.5}$ 表明精确率的权重比召回率高。
- 当 $\alpha=1$ 时,也就是最常见的 $F_{1}$ 值,表明精确率和召回率同等重要;
- 当 $\alpha=2$ 时,$F_{2}$ 表明召回率的权重比精确率高;