精确率|精确率 召回率 F1值 准确率 ROC曲线 AUC评价指标
对于二分类问题来说,经过分类器分类后一般会出现下面四种情况(假设positive表正类,negative表负类):
- 将正类预测为正类,记该类样本数为TP (true positive)
- 将正类预测为负类,记该类样本数为FN (false negative)
- 将负类预测为正类,记该类样本数为FP (false positive)
- 将负类预测为负类,记该类样本数为TN (true negative)
文章图片
精确率
精确率(precision):被预测成正的样本中预测正确的比例。越接近1,预测效果越好
P=TPP′=TPTP+FP
召回率
召回率(recall):原为正样本中被正确预测的比例。越接近1,效果越好
R=TPP=TPTP+FN
F1 值
F1 值:精确率和召回率的调和均值,即:
2F1=1P+1R
化简得 F1值:
F1=2TP2TP+FP+FN
准确率
准确率(accuracy):被正确预测的样本数占总样本数的比例:
A=TP+N=TP′+N′=TN+TPTN+TP+FN+FP
ROC
ROC(Receiver operating characteristic curve)
再写一下混淆矩阵:
文章图片
引入两个概念真阳性率TPR(被正确判断为正类即Positive的概率)和伪阳性率FPR(被错误判断为正类的概率)
由上混淆矩阵可知:
真阳性率:
TPR=TPP=TPTP+FN
伪阳性率:
FPR=FPN=FPFP+TN
对于某个二分类模型来说,一般划分正类(positive)和负类(negative)是通过同阈值相比较来划分的,所以说只要调整阈值的大小,就能得出多组TPR和FPR。
将得到的FPR作为横坐标,TPR作为纵坐标,就可以得出对于该分类模型的ROC曲线图了。
如对于某个二分类模型,阈值取 a,b,c,d 四个不同值,对于同一数据集就可以在ROC图上得出4个不同的点,如下图点 A,B,C,D 。
文章图片
首先来看一下一条特殊的线y=x ,这条线上的点坐标 x=y(FPR=TPR) ,即原为正类的,预测为正类的概率等于原为负类但被预测成正类的概率。即随机预测。
还有特殊的两个点 E,F 。 E 点的 FPR=0,TPR=1 说明 FP=FN=0 即全预测对了。 F 点刚好相反 TN=TP=0 即全预测错了,但是 F 点只要反过来预测就能全对。所以 E 和 F 点都是完美预测对应的点。
那对于 A,B,C,D 来说也一样,离左上角或右下角越近(即离随机预测对应的线越远),预测的结果越理想。因此可以判断预测结果的理想程度为:
A>B>C>D
AUC
AUC (Area under the Curve of ROC) ROC曲线下方面积
结合ROC不难得知:
- AUC=1完美分类器
- 0.5
- AUC=0.5效果同随机分类
- 0
- AUC=0反着预测就是完美分类器
【精确率|精确率 召回率 F1值 准确率 ROC曲线 AUC评价指标】https://en.wikipedia.org/wiki/Receiver_operating_characteristic
推荐阅读
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- 「#1-颜龙武」区块链的价值是什么()
- 一个人值班
- 两感一练
- 【读书清单20】写作吧!你值得被看见(2)
- 二叉树路径节点关键值和等于目标值(LeetCode--112&LeetCode--113)
- 《小舍得》大结局(南建龙这番话,值得每个中年夫妻深思)
- 值得父母深思的犹太家庭教育
- 微小说/不是所有苦难都值得同情
- 探寻工作有价值和意义感的4个问题