文章目录

  • 1. P-R(Precision-Recall)曲线
    • F1 score
  • 2. 平方根误差的局限性
  • 3. ROC曲线
    • ROC曲线绘制
  • 4. AUC
predict Positive predict Negative
real Positive TP FN num of real positive=npn_pnp​
real Negative FP TN num of real negative=nnn_nnn​
predicted num of postitive predicted num of negative
  • 精确率(查准率) = 分类正确的正样本个数占分类器判定为正样本的样本个数的比例。
    p=TPTP+FPp=\frac{TP}{TP+FP} p=TP+FPTP​

  • 召回率(查全率) = 分类正确的正样本个数占真正的正样本个数的比例。
    r=TPTP+FN=TPnpr=\frac{TP}{TP+FN}= \frac{TP}{n_p} r=TP+FNTP​=np​TP​

Precision值和Recall值是既矛盾又统一的两个指标,为了提高Precision值,分类器需要尽量在“更有把握”时才把样本预测为正样本,但此时往往会因为过于保守而漏掉很多“没有把握”的正样本,导致Recall值降低。

1. P-R(Precision-Recall)曲线

  • P-R曲线的横轴是召回率R,纵轴是精确率P

  • P-R曲线上的一个点代表着,在某一阈值下,模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本(即高分为正样本,相当于排序,得分前几名为正样本,或者说是我们想要的搜索结果),此时返回结果对应的召回率和精确率。

    左边曲线起始附近代表当阈值最大时模型的精确率和召回率。越往右表示阈值越小。

    • 即开始阈值很大,判定结果可能几乎没有正样本,即无论正负都判定为负,TP→0,FP=0,TN→nn,FN→npTP\rightarrow 0, FP=0,TN\rightarrow n_n,FN\rightarrow n_pTP→0,FP=0,TN→nn​,FN→np​,r=TPTP+FN→0,p=TPTP+FP→1r=\frac{TP}{TP+FN} \rightarrow 0,p=\frac{TP}{TP+FP}\rightarrow 1r=TP+FNTP​→0,p=TP+FPTP​→1,所以召回率趋近于0,而准确率因为判定为正样本的个数为0、正确判断为正样本的个数也为0,或者说对于正样本的确定“锱铢必较”,只有预测数值特别高的才认为是正样本,这样的高要求得到的正样本是真的正样本的概率就会趋近于1,所以准确率趋近于1;

    • 而当曲线往右走,阈值很小,即对于正样本的判定要求变得很松,几乎将所有的判定为正样本,TP=np,FP→nn,TN→0,FN=0TP= n_p, FP\rightarrow n_n,TN\rightarrow 0,FN=0TP=np​,FP→nn​,TN→0,FN=0,r=TPTP+FN=1,p=TPTP+FP→nPnp+nnr=\frac{TP}{TP+FN} =1,p=\frac{TP}{TP+FP}\rightarrow \frac{n_P}{n_p+n_n}r=TP+FNTP​=1,p=TP+FPTP​→np​+nn​nP​​则此时就可能将所有的真正样本都挖掘出来,召回率趋近于1;而由于所有样本都判定为正样本,准确率则相当于是原始样本中真实正样本的比例。

只用某个点对应的精确率和召回率是不能全面地衡量模型的性能,只有通过P-R曲线的整体表现,才能够对模型进行更为全面的评估。

F1 score

精准率和召回率的调和平均值
F1=2×precision×recallprecision+recallF1=\frac{2\times precision\times recall}{precision+recall} F1=precision+recall2×precision×recall​

2. 平方根误差的局限性

RMSE经常被用来衡量回归模型的好坏
RMSE=∑i=1n(yi−y^i)2nRMSE = \sqrt{\frac{\sum\limits_{i=1}^n(y_i-\hat y_i)^2}{n}} RMSE=ni=1∑n​(yi​−y^​i​)2​​
一般情况下,RMSE能够很好地反映回归模型预测值与真实值的偏离程度。但在实际问题中,如果存在个别偏离程度非常大的离群点(Outlier)时,即使离群点数量非常少,也会让RMSE指标变得很差。

离群点:

  • 认定这些离群点是“噪声点”的话,就需要在数据预处理的阶段把这些噪声点过滤掉

  • 如果不认为这些离群点是“噪声点”的话,就需要进一步提高模型的预测能力,将离群点产生的机制建模进去

  • 找一个更合适的指标来评估该模型。关于评估指标,其实是存在比RMSE的鲁棒性更好的指标,比如平均绝对百分比误差(Mean Absolute Percent Error,MAPE)
    MAPE=∑i=1n∣yi−y^iyi∣×100nMAPE=\sum_{i=1}^n\left|\frac{y_i-\hat y_i}{y_i}\right|\times\frac{100}{n} MAPE=i=1∑n​∣∣∣∣​yi​yi​−y^​i​​∣∣∣∣​×n100​
    MAPE相当于把每个点的误差进行了归一化,降低了个别离群点带来的绝对误差的影响。

3. ROC曲线

Receiver Operating Characteristic Curve/ 受试者工作特征曲线”:相比precision、recall、F1 score、P-R曲线等,ROC曲线则有很多优点,经常作为评估二值分类器最重要的指标之一。

predict Positive predict Negative
real Positive TP FN num of real positive=npn_pnp​
real Negative FP TN num of real negative=nnn_nnn​
predicted num of postitive predicted num of negative
  • 横坐标 = 假阳性率(False Positive Rate,FPR):真的负样本中被分类器预测为正样本的比例。
    FPR=FPTN+FP=FPnnFPR=\frac{FP}{TN+FP}=\frac{FP}{n_n} FPR=TN+FPFP​=nn​FP​

    所有敌机来袭的事件中,每个雷达兵准确预报的概率

  • 纵坐标 = 真阳性率(True Positive Rate,TPR):真的正样本中被分类器预测为正样本的比例。(=召回率)
    TPR=TPTP+FN=TPnp=recallTPR=\frac{TP}{TP+FN} =\frac{TP}{n_p}=recall TPR=TP+FNTP​=np​TP​=recall

    所有非敌机来袭信号中,雷达兵预报错误成有敌机的概率

ROC曲线绘制

  • ROC曲线是通过不断移动分类器的“截断点”来生成曲线上的一组关键点的。“截断点”指的就是区分正负预测结果的阈值。

    左边曲线起始附近代表当阈值最大,越往右表示阈值越小。

    • 即开始阈值很大,判定结果可能几乎没有正样本,即无论正负都判定为负,TP→0,FP=0,TN→nn,FN→npTP\rightarrow 0, FP=0,TN\rightarrow n_n,FN\rightarrow n_pTP→0,FP=0,TN→nn​,FN→np​,FPR=FPTN+FP=0,TPR=TPTP+FN→0FPR=\frac{FP}{TN+FP}=0,TPR=\frac{TP}{TP+FN}\rightarrow 0FPR=TN+FPFP​=0,TPR=TP+FNTP​→0,即此时真、假阳性率都趋近0.

    • 而当曲线往右走,阈值很小,即对于正样本的判定要求变得很松,几乎将所有的判定为正样本,TP=np,FP→nn,TN→0,FN=0TP= n_p, FP\rightarrow n_n,TN\rightarrow 0,FN=0TP=np​,FP→nn​,TN→0,FN=0,FPR=FPTN+FP→1,TPR=TPTP+FN=1FPR=\frac{FP}{TN+FP}\rightarrow 1,TPR=\frac{TP}{TP+FN}=1FPR=TN+FPFP​→1,TPR=TP+FNTP​=1,即此时真实负样本中被分为阳性的比例为1,真实负样本中被分为阳性的比例也为1.

  • 还有一种更直观地绘制ROC曲线的方法

    • 首先,根据样本标签统计出正负样本的数量,假设正样本数量为npn_pnp​,负样本数量为nnn_nnn​
    • 接下来,把横轴的刻度间隔设置为1/nn1/n_n1/nn​,纵轴的刻度间隔设置为1/np1/n_p1/np​
    • 再根据模型输出的预测概率对样本进行排序(从高到低,相当于阈值从最高开始往下走,即是对应曲线最左端开始);依次遍历样本,同时从零点开始绘制ROC曲线
      • 每遇到一个正样本就沿纵轴方向绘制一个刻度间隔的曲线
      • 每遇到一个负样本就沿横轴方向绘制一个刻度间隔的曲线
      • 直到遍历完所有样本,曲线最终停在(1,1)这个点,表示遍历了所有npn_pnp​个正样本和所有nnn_nnn​个负样本,整个ROC曲线绘制完成
  • 相比P-R曲线,ROC曲线有一个特点,当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。所以ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能

    ROC曲线的适用场景更多,被广泛用于排序、推荐、广告等正负样本数量往往很不均衡领域。

4. AUC

  • AUC((Area Under ROC Curve)指的是ROC曲线下的面积大小,该值能够量化地反映基于ROC曲线衡量出的模型性能。

  • 由于ROC曲线一般都处于y=xy=xy=x这条直线的上方(如果不是的话,只要把模型预测的概率反转成1−p就可以得到一个更好的分类器),所以AUC的取值一般在0.5~1之间。

    横纵坐标都表示预测为阳性(正例),而我们希望真实正样本被预测为阳性的概率,高于真实负样本被预测为阳性的概率,所以大部分ROC曲线y>xy>xy>x.

  • AUC越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。

  • AUC常常被用来作为模型排序好坏的指标,原因在于AUC可以看做随机从正负样本中选取一对正负样本,其中正样本的得分大于负样本的概率 !

Ref:

链接:AUC的证明

对于真正例率TPR,分子是得分>t里面正样本的数目,分母是总的正样本数目。 而对于假正例率FPR,分子是得分>t里面负样本的数目,分母是总的负样本数目。 因此,如果定义N+(t),N−(t)N+(t),N−(t)分别为得分大于t的样本中正负样本数目,N+,N−N+,N−为总的正负样本数目, 那么TPR和FPR可以表达为阈值t的函数
TPR(t)=N+(t)N+FPR(t)=N−(t)N−\text{TPR}(t) = \frac{N_+(t)}{N_+} \\ \text{FPR}(t) = \frac{N_-(t)}{N_-} TPR(t)=N+​N+​(t)​FPR(t)=N−​N−​(t)​
考虑随机取得这对正负样本中,负样本得分在[t,t+Δt][t,t+Δt][t,t+Δt]之间的概率为
P(t≤s−<t+Δt)=P(s−>t)−P(s−>t+Δt)=N−(t)−N−(t+Δt)N−=x(t)−x(t+Δt)=−Δx(t)P(t \le s_- < t+\Delta t) \\ = P( s_- \gt t) - P(s_- > t+\Delta t) \\ = \frac{N_-(t) - N_-(t+\Delta t)}{N_-} \\ = x(t) - x(t +\Delta t) = - \Delta x(t) P(t≤s−​<t+Δt)=P(s−​>t)−P(s−​>t+Δt)=N−​N−​(t)−N−​(t+Δt)​=x(t)−x(t+Δt)=−Δx(t)
如果Δt\Delta tΔt很小,那么该正样本得分大于该负样本的概率为
P(s+>s−∣t≤s−<t+Δt)≈P(s+>t)=N+(t)N+=y(t)P(s_+ > s_- | t \le s_- < t+\Delta t) \\ \approx P(s_+ > t) = \frac{N_+(t)}{N_+} = y(t) P(s+​>s−​∣t≤s−​<t+Δt)≈P(s+​>t)=N+​N+​(t)​=y(t)
所以
P(s+>s−)=∑P(t≤s−<t+Δt)P(s+>s−∣t≤s−<t+Δt)=−∑y(t)Δx(t)=−∫t=−∞∞y(t)dx(t)=∫t=∞−∞y(t)dx(t)P(s_+ > s_- ) \\ = \sum P(t \le s_- < t+\Delta t) P(s_+ > s_- | t \le s_- < t+\Delta t) \\ = -\sum y(t) \Delta x(t) \\ = -\int_{t=-\infty}^{\infty} y(t) d x(t) \\ = \int_{t=\infty}^{-\infty} y(t) d x(t) P(s+​>s−​)=∑P(t≤s−​<t+Δt)P(s+​>s−​∣t≤s−​<t+Δt)=−∑y(t)Δx(t)=−∫t=−∞∞​y(t)dx(t)=∫t=∞−∞​y(t)dx(t)
注意积分区间,t=−∞t=−\inftyt=−∞对应ROC图像最右上角的点,而t=∞t=\inftyt=∞对应ROC图像最左下角的点。所以,计算面积是∫t=∞−∞\int _{t=\infty}^{-\infty}∫t=∞−∞​。 可以看出,积分项里面实际上是这样一个事件的概率:随机取一对正负样本,负样本得分为t且正样本得分大于t! 因此,对这个概率微元积分就可以到正样本得分大于负样本的概率!

百面机器学习 #2 模型评估:0102 精确率与召回率,假阳性与真阳性率,PR曲线和ROC曲线相关推荐

  1. 百面机器学习之模型评估

    1.准确率的局限性.         Hulu的奢侈品广告主们希望把广告定向投放给奢侈品用户.Hulu通过第三方的数据管理平台(Data Management Platform,DMP)拿到了一部分奢 ...

  2. 百面机器学习:模型评估

    1. 评估指标的局限性         要合理地运用评估指标,才可以发现模型本身的问题,不然反其道而行之得出错误的调参结论.         先讲了TP.FP.FN.和FP这几个值. 这几个率真的是看 ...

  3. 机器学习各种模型评价指标:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

    周志华老师的西瓜书的第2章:模型评估与选择 摘要: 数据挖掘.机器学习和推荐系统中的评测指标-准确率(Precision).召回率(Recall).F值(F-Measure)简介. 引言: 在机器学习 ...

  4. 机器学习的模型评价指标:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线等

    用手写数字识别来作为说明. 准确率: 所有识别为"1"的数据中,正确的比率是多少.  如识别出来100个结果是"1", 而只有90个结果正确,有10个实现是非& ...

  5. 百面机器学习 #2 模型评估:07 过拟合和欠拟合及其常用解决方法

    如何有效地识别"过拟合"和"欠拟合"现象,并有针对性地进行模型调整,是不断改进机器学习模型的关键. 过拟合 模型对于训练数据拟合呈过当的情况 反映到评估指标上, ...

  6. 百面机器学习 #2 模型评估:03 余弦距离和余弦相似度、欧氏距离

    文章目录 余弦相似度 余弦相似度和余弦距离 和欧式距离的比较和关系 余弦距离不是一个严格定义的距离 在模型训练过程中,我们也在不断地评估着样本间的距离,如何评估样本距离也是定义优化目标和训练方法的基础 ...

  7. [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC

    一 为什么要评估模型? 一句话,想找到最有效的模型.模型的应用是循环迭代的过程,只有通过持续调整和调优才能适应在线数据和业务目标. 选定模型时一开始都是假设数据的分布是一定的,然而数据的分布会随着时间 ...

  8. python分类预测降低准确率_【火炉炼AI】机器学习011-分类模型的评估:准确率,精确率,召回率,F1值...

    [火炉炼AI]机器学习011-分类模型的评估:准确率,精确率,召回率,F1值 (本文所使用的Python库和版本号: Python 3.5, Numpy 1.14, scikit-learn 0.19 ...

  9. 百面机器学习02-模型评估

    评估指标的局限性 场景描述: 在模型评估过程中,分类问题.排序问题.回归问题往往需要使用不同的指标进行评估 .在诸多的评估指标中,大部分指标只能片面地反映模型的一部分性能 . 如果不能合理地运用评估指 ...

最新文章

  1. mysql存储过程或函数中传入参数与表字段名相同引发的悲剧
  2. 算法提高课-搜索-多源BFS-AcWing 173. 矩阵距离:bfs、多源bfs
  3. linux命令全集,Linux命令全集
  4. nginx随机变换图片服务器网址来防止盗链
  5. RocketMQ集群特点
  6. 推荐一份基于Docker的DevOps实战培训教程
  7. 近期解决问题经历和感悟
  8. Android 系统签名(踩坑记)
  9. native2ascii命令用法详解
  10. lingo的目标规划
  11. c语言 统计素数并求和
  12. Chrome插件--》油猴的使用
  13. 浅谈全国统一规范普通高等学校学费标准问题
  14. 斟杯春秋雨,平过四季
  15. 需要验证的网络连接服务器,登录iCloud提示验证失败,连接到服务器时出现问题怎么办...
  16. JAVA对接发送SMS短信服务
  17. 计算机软件职称高校四川,四川省人社厅:今年部分高校职称自主评审
  18. 乐max2魔趣android7.0,乐视Max2 魔趣OS 安卓10 MagiskV21版 完美ROOT 纯净完美 原生极简 纯净推荐...
  19. postgres查询序列_PostgreSQL之序列(Sequence)
  20. 如何访问sci-hub?(更新于2017年11月26日)

热门文章

  1. 10个致工程师在工作中快速成长的技巧
  2. arx打印dwg为pdf
  3. 目前比较流行的网站设计风格有哪些
  4. 博世传感器调试笔记(一)----加速度传感器BMA253
  5. 计算机专业-世界大学学术排名,QS排名,U.S.NEWS排名
  6. 企业运维岗位笔试真题
  7. HashTab 2.08 简体中文版
  8. 【TypeScript】tsc : 无法加载文件 C:\Users\XXX\AppData\Roaming\npm\tsc.ps1,因为在此系统上禁止运行脚本。
  9. 百度编辑器的样式手机端配置
  10. 《网络安全应急响应技术实战指南》知识点总结(第10章 流量劫持网络安全应急响应)