机器学习(14)之评价准则RoC与PR

2017 年 8 月 28 日 机器学习算法与Python学习

微信公众号

关键字全网搜索最新排名

【机器学习算法】:排名第一

【机器学习】:排名第二

【Python】:排名第三

【算法】:排名第四

前言

在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢?

TP, FP, TN, FN

1. True Positives,TP:预测为正样本,实际也为正样本的特征数

2. False Positives,FP:预测为正样本,实际为负样本的特征数

3. True Negatives,TN:预测为负样本,实际也为负样本的特征数

4. False Negatives,FN:预测为负样本,实际为正样本的特征数


听起来还是很费劲,不过我们用一张图就很容易理解了。图如下所示,里面绿色的半圆就是TP(True Positives), 红色的半圆就是FP(False Positives), 左边的灰色长方形(不包括绿色半圆),就是FN(False Negatives)。右边的浅灰色长方形(不包括红色半圆),就是TN(True Negatives)。这个绿色和红色组成的圆内代表我们分类得到模型结果认为是正值的样本。



精确率(precision)与召回率(Recall)

精确率(Precision)的定义在上图可以看出,是绿色半圆除以红色绿色组成的圆。严格的数学定义如下:

P=TP/(TP+FP)

 

召回率(Recall)的定义也在图上能看出,是绿色半圆除以左边的长方形。严格的数学定义如下

R=TP/(TP+FN) 


特异性(specificity)的定义图上没有直接写明,这里给出,是红色半圆除以右边的长方形。严格的数学定义如下:

S=FP/(FP+TN) 


F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高。严格的数学定义如下:

2/F1=1/P+1/R 


有时候我们对精确率和召回率并不是一视同仁,比如有时候我们更加重视精确率。我们用一个参数β来度量两者之间的关系。如果β>1, 召回率有更大影响,如果β<1,精确率有更大影响。自然,当β=1的时候,精确率和召回率影响力相同,和F1形式一样。含有度量参数β的F1我们记为Fβ, 严格的数学定义如下:

Fβ=(1+β2)∗P∗R/(β2∗P+R)


RoC和PR

以召回率为y轴,以特异性为x轴,我们就直接得到了RoC曲线。从召回率和特异性的定义可以理解,召回率越高,特异性越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。

小结

以精确率为y轴,以召回率为x轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。使用RoC曲线和PR曲线,我们就能很方便的评估我们的模型的分类能力的优劣了。

参考:

1. 周志华《机器学习》

2. 博客园:作者(刘建平)http://www.cnblogs.com/pinard/p/5993450.html

3. 李航 《统计学习方法》

加我微信:guodongwe1991,备注姓名-单位-研究方向(加入微信机器学习交流1群)

招募 志愿者

广告、商业合作

请加QQ:357062955@qq.com

喜欢,别忘关注~

帮助你在AI领域更好的发展,期待与你相遇!

登录查看更多
1

相关内容

机器学习速查手册,135页pdf
专知会员服务
342+阅读 · 2020年3月15日
强化学习和最优控制的《十个关键点》81页PPT汇总
专知会员服务
106+阅读 · 2020年3月2日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
358+阅读 · 2020年2月15日
交通评价指标概略
智能交通技术
15+阅读 · 2019年7月21日
机器学习中如何处理不平衡数据?
机器之心
13+阅读 · 2019年2月17日
已删除
将门创投
4+阅读 · 2018年6月12日
推荐|机器学习中的模型评价、模型选择和算法选择!
全球人工智能
10+阅读 · 2018年2月5日
动手写机器学习算法:异常检测 Anomaly Detection
七月在线实验室
11+阅读 · 2017年12月8日
干货 | 一文搞懂极大似然估计
AI100
7+阅读 · 2017年12月3日
机器学习(27)【降维】之主成分分析(PCA)详解
机器学习算法与Python学习
9+阅读 · 2017年11月22日
机器学习(16)之支持向量机原理(二)软间隔最大化
机器学习算法与Python学习
6+阅读 · 2017年9月8日
机器学习(15)之支持向量机原理(一)线性支持向量机
机器学习算法与Python学习
6+阅读 · 2017年9月1日
机器学习(13)之最大熵模型详解
机器学习算法与Python学习
7+阅读 · 2017年8月24日
Arxiv
110+阅读 · 2020年2月5日
Implicit Maximum Likelihood Estimation
Arxiv
7+阅读 · 2018年9月24日
The Matrix Calculus You Need For Deep Learning
Arxiv
12+阅读 · 2018年7月2日
Arxiv
4+阅读 · 2018年3月14日
Arxiv
3+阅读 · 2018年1月10日
Arxiv
3+阅读 · 2017年7月6日
VIP会员
相关资讯
交通评价指标概略
智能交通技术
15+阅读 · 2019年7月21日
机器学习中如何处理不平衡数据?
机器之心
13+阅读 · 2019年2月17日
已删除
将门创投
4+阅读 · 2018年6月12日
推荐|机器学习中的模型评价、模型选择和算法选择!
全球人工智能
10+阅读 · 2018年2月5日
动手写机器学习算法:异常检测 Anomaly Detection
七月在线实验室
11+阅读 · 2017年12月8日
干货 | 一文搞懂极大似然估计
AI100
7+阅读 · 2017年12月3日
机器学习(27)【降维】之主成分分析(PCA)详解
机器学习算法与Python学习
9+阅读 · 2017年11月22日
机器学习(16)之支持向量机原理(二)软间隔最大化
机器学习算法与Python学习
6+阅读 · 2017年9月8日
机器学习(15)之支持向量机原理(一)线性支持向量机
机器学习算法与Python学习
6+阅读 · 2017年9月1日
机器学习(13)之最大熵模型详解
机器学习算法与Python学习
7+阅读 · 2017年8月24日
相关论文
Arxiv
110+阅读 · 2020年2月5日
Implicit Maximum Likelihood Estimation
Arxiv
7+阅读 · 2018年9月24日
The Matrix Calculus You Need For Deep Learning
Arxiv
12+阅读 · 2018年7月2日
Arxiv
4+阅读 · 2018年3月14日
Arxiv
3+阅读 · 2018年1月10日
Arxiv
3+阅读 · 2017年7月6日
Top
微信扫码咨询专知VIP会员