准确率(accuracy)、召唤率(recall)和精确率(precision)
一、概述
召回率、准确率、精确率、F值的作用:
在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。
二、定义
首先给出一个大家经常见到的图:
混淆矩阵
假正:实际——负例
假负:实际——正例
详细定义
1.准确率
(accuracy)=(TP+TN)/(TP+FN+FP+TN) 【正确的/总的】
通俗解释: 在所有样本中,预测正确的概率
2. 精确率
(precision)=TP/(TP+FP) 【真正/预测正】
通俗解释:你认为的正样本中,有多少是真的正确的概率
3. 召回率
(recall)=TP/(TP+FN) 【真正/实际正】
通俗解释:正样本中有多少是被找了出来
4.F1
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure。
当参数α=1时,就是最常见的F1,也即
ROC,AUC
1.FPR——x轴 (伪阳率)
【假正/实际负】
从负例中随便拿一个,被错误估计成正例的概率
越小越好
2.recall——y轴 (真阳率)
(recall)=TP/(TP+FN) 【真正/实际正】
通俗解释:正样本中有多少是被找了出来
3.ROC曲线
ROC曲线的横轴是FPRate,纵轴是TPRate,
当二者相等时,即y=x,表示的意义是:
对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的。
换句话说,分类器对于正例和负例毫无区分能力,
而我们希望分类器达到的效果是:
对于真实类别为1的样本,分类器预测为1的概率(即TPRate),要大于真实类别为0而预测类别为1的概率(即FPRate),即y>x,因此大部分的ROC曲线长成下面这个样子:
4.AUC
ROC曲线的面积
通常(0.5~0.8)
小于0.5看正负标签是否需要转换,或者模型太差。。。