一、常用评价指标
参考书籍:《机器学习》——周志华
错误率: 分类错误的样本数占样本总数的比例
精度: 分类正确的样本数占样本总数的比例, 错误率+精度=1
查准率(precision): 算法挑出来的样本中有多少比例是正样本
查全率(recall): 所有的正样本中有多少比例被算法挑了出来
查准率与查全率是一对矛盾的度量。一般来说,查准率高,查全率就低;查全率高,查准率就高。
而在实际的模型评估中,单用查准率或者查全率来评价模型是不完整的,评价模型时必须用查准率/查全率两个值。一般有三种使用方法:平衡点(Break-Even
Point,BEP)、F1度量、F1度量的一般化形式。
这里只介绍F1度量:F1是基于查准率与查全率的调和平均定义的
显然F1越大越好
以《机器学习》西瓜问题为例
- TP: 正确地标记为正,即算法预测它为好西瓜,这个西瓜真实情况也是好西瓜(双重肯定是肯定);
- FP: 错误地标记为正,即算法预测它是好西瓜,但这个西瓜真实情况是坏西瓜;
- FN: 错误地标记为负,即算法预测为坏西瓜,(F算法预测的不对)但这个西瓜真实情况是好西瓜(双重否定也是肯定);
- TN: 正确地标记为负,即算法标记为坏西瓜,(T算法预测的正确)这个西瓜真实情况是坏西瓜。
西瓜总数:TP+FP+FN+TN
错误率:(FP+FN)/(TP+FP+FN+TN)
精度:(TP+TN)/(TP+FP+FN+TN)
查准率:TP/(TP+FP)
查全率:TP/(TP+FN)
二、案例
题目:
假设运用两套算法测试:从学生宿舍区一段监控视频中识别男生的人数。实验结果如下:
1)算法1的检测结果:检测出“男生”人数82人,其中78人为男生,4人其实是女生;
2)算法2的检测结果:检测出“男生”人数88人,其中80人为男生,8人其实是女生;
3)经过人工检测,视频中实际准确的总人数为100人,其中男生80人,女生20人。
请问算法1和算法2的“查准率”“查全率”“F1-score”等分别是多少?你认为哪个更优秀?
答案:
算法1查准率:78/82,查全率:78/80,F1:156/162
算法1查准率:80/88,查全率:80/80,F1:160/168
156/162 > 160/168
所以算法1更好