模型评估【PR|ROC|AUC】
这里主要讲的是对分类模型的评估。
1、准确率(Accuracy)
准确率的定义是:【分类正确的样本】 / 【总样本个数】,其中分类正确的样本是不分正负样本的
优点:简单粗暴
缺点:当正负样本分布不均衡的情况(假设一种极端情况,正样本1个,负样本99个),此时即使一个比较差的模型(只会将所用的样本预测成负样本),那它也有99%的准确率。
总结一下就是 当样本分布不均匀,该指标意义不大
改进方案: 1、在不同样本分类下求它的准确率,然后取平均值
2、选取其他评价指标
2、PR曲线
Precision(精准率):【分类正确的正样本个数】/【被预测为正样本的个数】
Recall(召回率):【分类正确的正样本个数】/【真实中正样本的个数】
Precision 与 Recall是一对既矛盾又统一的变量
矛盾是指:如果想要高的 精准率,也就要求模型有一些挑剔,对于一些不太确定的是否为正样本的,不将它预测成正样本,可以理解为模型变得“保守”了,所以【被预测为正样本的个数】变小,【分类正确的正样本个数】变小,但是他们比值是变大的,可以这么理解假设有10个样本不太确定是否是正样本,在挑剔之前,就把这个不确定的全部预测成正样本,假设在这10个中,只有4个分类正确,在挑剔之后,分子-4,分母-10,也就是不确定中可以会预测正确也可能预测错误,而追求高的精准率,就直接将这些不确定的抛弃,而此时【分类正确的正样本个数】是变小的,所以召回率变小。
统一是指:个人感觉精准率和召回率越高都会反映模型效果会比较好
PR曲线:是以Precision为纵坐标,Recall为横坐标的描述一个模型在不同阈值(划分正负样本的标准)下的曲线图
绘制过程:与ROC绘制过程相同
曲线意义:当R接近0,即在原点附近时,模型变得非常保守,十分把握才预测成正样本,也就是阈值变得很大,此时正确的可能性将也很大,即精确率很高,随着R的变大,精确率将变小。
那如何通过PR曲线衡量不同模型的好坏呢?
可以通过曲线下的面积,面积越大,模型越好
缺点:
受样本影响比较大,假设负样本扩大100倍,召回率不变,精准率的分母变大了,一些负样本被预测成正样本,也就是在召回率固定的情况下,精准率变小了。
3、ROC曲线
真阳性 (TPR): TP / P 【分类正确的正样本个数TP】/【真实中正样本的个数P】 等于 召回率
伪阳性(FPR): FP / N 【在负样本中被预测成正样本的个数 FP】 / 【真实中负样本的个数N】
ROC曲线是以真阳性为纵坐标,伪阳性为横坐标描述一个模型在不同阈值(划分正负样本的标准)下的曲线图
绘制过程:
- 对所有样本求预测为正样本的概率,并根据概率从大到小排序
- 分别以每一个概率作为一个划分正负样本的阈值,对于第一个就是将最大概率作为划分阈值,此时正样本个数为0(y轴为0),全部为负样本(横轴也为0),不断改变降低阈值,就会得到在该阈值下的点
- 不同阈值下的点对构成的曲线就是roc曲线
另外还有一个简单的绘制方法:
X轴以 1/N 为单位,Y轴以 1/P为单位,遍历所有的样本,如果当前样本为正的话,向上移动一个单位,样本为负向右移动一个单位,最终的结果就是由左下方不断往右上方移动
每一次的移动其实都是一次改变判断正负样本阈值的过程,对于 X轴和Y轴的分母不会改变,当样本是正,阈值为大于等于该样本概率判断为正样本,所以Y轴 + 1,样本为负,表示该样本会判断成正样本,所以X轴 + 1。
优点:
ROC曲线不会受样本影响,相对稳定。假设负样本扩大100倍,对于X轴,分子分母等概率变化,总体结果是不变的,对于Y轴也是不变的
4、AUC (Area under cover)
AUC是ROC曲线的积分,表示模型分类效果,值越大分类效果越好
模型评估【PR|ROC|AUC】的更多相关文章
- 召回率、AUC、ROC模型评估指标精要
混淆矩阵 精准率/查准率,presicion 预测为正的样本中实际为正的概率 召回率/查全率,recall 实际为正的样本中被预测为正的概率 TPR F1分数,同时考虑查准率和查全率,二者达到平衡,= ...
- 评价指标的局限性、ROC曲线、余弦距离、A/B测试、模型评估的方法、超参数调优、过拟合与欠拟合
1.评价指标的局限性 问题1 准确性的局限性 准确率是分类问题中最简单也是最直观的评价指标,但存在明显的缺陷.比如,当负样本占99%时,分类器把所有样本都预测为负样本也可以获得99%的准确率.所以,当 ...
- 笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记源于CDA-DSC课程,由常国珍老师主讲 ...
- 风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...
- 【AUC】二分类模型的评价指标ROC Curve
AUC是指:从一堆样本中随机抽一个,抽到正样本的概率比抽到负样本的概率大的可能性! AUC是一个模型评价指标,只能用于二分类模型的评价,对于二分类模型,还有很多其他评价指标,比如logloss,acc ...
- 模型评测之IoU,mAP,ROC,AUC
IOU 在目标检测算法中,交并比Intersection-over-Union,IoU是一个流行的评测方式,是指产生的候选框candidate bound与原标记框ground truth bound ...
- 模型构建<1>:模型评估-分类问题
对模型的评估是指对模型泛化能力的评估,主要通过具体的性能度量指标来完成.在对比不同模型的能力时,使用不同的性能度量指标可能会导致不同的评判结果,因此也就意味着,模型的好坏只是相对的,什么样的模型是较好 ...
- 模型的性能评估(二) 用sklearn进行模型评估
在sklearn当中,可以在三个地方进行模型的评估 1:各个模型的均有提供的score方法来进行评估. 这种方法对于每一种学习器来说都是根据学习器本身的特点定制的,不可改变,这种方法比较简单.这种方法 ...
- 一文让你彻底理解准确率,精准率,召回率,真正率,假正率,ROC/AUC
参考资料:https://zhuanlan.zhihu.com/p/46714763 ROC/AUC作为机器学习的评估指标非常重要,也是面试中经常出现的问题(80%都会问到).其实,理解它并不是非常难 ...
随机推荐
- 从0开始的Python学习009参数
默认参数 对于参数有时候我们希望他是可选的,前面介绍了函数柯里化,当然还有其他的解决方案.如果不想给某些参数提供值的话,就让这写参数使用默认值.在函数定义的时候给参数赋值使用(参数,参数=值..... ...
- Asp.net Core应用程序部署为服务
安装前使用dotnet命令运行下看网站能不能正常运行 1.下载nssm,下载后解压文件 下载地址:https://nssm.cc/usage 2.使用命令行工具进入到nssm的目录: 3.执行服务安装 ...
- 虚拟机硬盘vmdk压缩瘦身并挂载到VirtualBox
这个问题其实困扰了挺久的,一直没闲情去解决,网上搜索过很多压缩方法感觉都太麻烦太复杂,因最近在windows上搞docker就一并解决了. 压缩vmdk 首先下载DiskGenius,这工具很牛X,相 ...
- 【实战代码】PHP实现读取一个1G的文件大小
本文地址:http://www.cnblogs.com/aiweixiao/p/7535351.html 欢迎关注我的微信公众号哈 “ 程序员的文娱情怀” http://t.cn/RotyZtu [背 ...
- 面向对象_classmethod_staticmethod
classmethod:类方法 主要用于改变静态属性 class Fruit_price: __discount= 1 def __init__(self,original_price): self. ...
- 手把手教你实现Android RecyclerView上拉加载功能
摘要 一直在用到RecyclerView时都会微微一颤,因为一直都没去了解怎么实现上拉加载,受够了每次去Github找开源引入,因为感觉就为了一个上拉加载功能而去引入一大堆你不知道有多少BUG的代码, ...
- os模块使用
Python获取当前文件名的两种方法 1,使用python文件默认的‘ file ’属性 2,使用 sys.argv[0] print sys.argv # 输入参数列表print sys.argv[ ...
- TabBar用到bottomNavigationBar
import 'package:flutter/material.dart';import 'homepage.dart';import 'lastpage.dart';import 'secondp ...
- 洛谷 P5020 货币系统
题目描述 在网友的国度中共有$ n $种不同面额的货币,第 i种货币的面额为 \(a[i]\),你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为\(n\).面额数组为 \(a[1..n]\ ...
- Google第三方网站登录(JavaScript SDK)
官网:https://developers.google.com/identity/sign-in/web/ 一.创建应用 a.去谷歌控制台创建应用 网址:https://accounts.g ...