模型评估有时候要用precision和recall,有时候用AUC,不存在优缺点问题,只存在适用性问题。

模型评估为啥不用precision和recall?因为它支持不了我的决策啊。。 同样的问题,根据不同情况,我可以问100个: 为啥这个模型评估不用AUC?而要用logloss,因为它支持不了我的决策啊 为啥这个模型评估不用logloss,而要用ROI?因为它支持不了我的决策啊 为啥这个模型不用ROI logloss而只用recall,因为recall更支持我的决策啊

还有为啥还有PRC啊,F1,KS值啊,ROI,logloss值等一大堆指标?这些有啥用?这应该是很多新手都会疑惑的问题。也是我当年作为小白,看了一点书也会问的问题,后来看了大量案例和实践才慢慢有了体会的,一知半解的初学者,无法理解。。学校里没业务sense的教授,大多也解释不清楚。。

总之

题主搞清楚,先有决策需求,再有评估方案和指标的。。。而不是问,为啥不是所有模型的评估都用这套P&R的指标?这是挺奇葩的认知。。手里拿着锤子,见啥都是钉子,敲一敲么?

........

为了增强您对“决策需求”这个问题的理解,针对您的提问,先举个例子吧:

assume两个老哥AB,各做了一个欺诈识别模型pk,谁赢了就升职,out了就裁员,对于原始分布测试集,A测出来是precision80% recall 50%,B测出来两项各是70%和60%,那个模型更好呢?

A说了,我的模型精度更高,出来的人群包精度更高,很准啊,而且召回率也不低 B说了,我的模型召回率更高,而且精度也不低

听谁的呢? 业务VP某w总说话了:我们最做欺诈发现,主要是看recall召回率,precision低的可以用人工审核和增信手段进行管理,所以我觉得B的模型更好

A听了很不服气,突然心生一计,把自己逻辑回归模型里面sigmoid函数的截距调了,变成0.4概率的为1,其他为0,模型也没重新训练,w权值向量也没动,但,就这样模型效果变成precision50%recall80%(这最低端的调参动作)

这时候,A得意洋洋的开吹了,你看,我这个模型是可以调的,现在我的recall80%了,更加满足了w总您的需求 谁知,B也调了一个参数,recall85%精度也接近,两个人吵的不可开交,快打起来了

w总又说话了,这你们两变来变去,要不你们把你们能调的参数都放进坐标轴去,看谁更合适吧

假的roc曲线图(轴已转换为recall和precision,数据很假,不太可能出现,只是for example)

看着这个图,w总说了,咱们这样,这两曲线也不知道谁更厉害,只能说各有千秋,要不咱公平点,用微积分的方式,谁的曲线和x轴的面积大,谁就整体来说,预测的更准,毕竟我看到B的曲线左边那块好像表现好一点,A的曲线在右侧只是略优于B

这就是AUC(ROC曲线下部分的面积),结果表明B的更好

似乎要下定论了,这时,一旁一直没说话的数据分析师开口了,他之前负责用数据统计的方式做这个预测,似乎是最有发言权的人

可他,竟然说

我不赞同w总这种评估方式,我认为b的更好,原因有二 1-w总说ab相交处,右侧面积a远远大于b,a在召回率低的情况下,精度大幅度高于b,这个没意义,因为我手工圈人也可以做到类似的精度,我们模型里面有几个逾期和拒接电话等违约行为特征,这种精度带来的auc面积提升没有太大意义 2-我更关注的是,在保持最低人工复核成本精度前提下,b竟然做到了95%的召回率,你要知道一个客户给我们带来数十万的损失,它帮我们多召回一个,提前干预得当,以我目前5块一个的审核成本计算,抵得上数百倍我的人工审核成本了,而a的模型在这块却表现不佳 3-我觉得模型创造价值最大的地方,是在于中间地带人群的识别,他们建模应该把那些铁定违约的人拿走,因为那些人都已经逾期和拒接电话了,傻的都知道啥情况,建议模型只对中间人群做预测,看谁分辩的更准,谁能帮我们提前发现可能违约的人,这才是模型真正创造业务价值的地方

综上,我更支持b模型!

W总听的连连点头,可还是没想好怎么选。。。

小朋友们,你会怎么选呢?

回过头来,想想题主你的问题,你觉得自己这个考虑问题的方式对吗?先有鸡,还是先有蛋?先考虑清楚决策需求,还是先考虑指标?

其实,很多答主,随便拷贝点网文或教科书都可以告诉你一大堆标准答案,但经验告诉我,这对增长初学者对模型评估的insight基本无益,因为没人帮你抓住最本质问题。。。

尝试解答你的疑惑,理清本质,我想向你指出2个关键问题,并和你分享我在这两个方面的洞察:

1-模型评估的目的有哪些? 2-不同目的,采用什么指标来做评估?

如果对两个问题有深入的思考,你学习数据挖掘模型的评估和调参,会更有感觉(机器学习感觉也接近,只是他们的数据sense和场景洞察会更难,比如nlp和ctr预估之类)

part1,模型评估的目的是什么? 一般来说,数据挖掘项目经理,在模型评估这个阶段一般要输出以下3个层面的递进结论:

1-模型调优:各个模型表现如何?在参数,训练集,特征,算法,cost function等方面,还有那些需要调整的地方?这时是为了要把模型迭代调整到最优状态。

2-模型筛选:对于调到各自最优状态的多个模型(不同参数不同算法不同特征组合甚至不同比例和样本权重设置的训练集),究竟那个模型表现更好?结合业务和技术角度,那个是更值得部署的冠军模型?作为建模人员你要有一个结论!

3-业务决策:跑完验证集评估,各个模型也调到最优状态了,也选好冠军模型了,这个冠军模型是不是work?work到什么程度?和原来的方案比怎么样?怎么跟业务部门老总解释这个模型的效果?如何帮助老板决定花多少预算在这个模型上?(可能是几十万,也可能是影响千万的生意)

以上这三个方面,可不是捣鼓那点数据集之类的问题,是每个项目都要经受的挑战

part2不同目的,要用到那些指标?怎么做分析?并得出结论? 对于1,模型调优方向问题 先看样本角度,ROC曲线,不同种类样本的recall precision,是否需要平衡,加权,删减等 再看特征角度,各个模型的特征权重,比如coef. gini 等,是否需要删除,添加,优化,组合,归一化,异常处理做的好不好 后看算法的技术参数角度,看cost function指标 比如logloss epoch-loss 熵 等指标,不同算法不一样,结合不同样本的分类效果,感受你需要调整的参数(有点玄,晕,但这真的很需要数据sense) 最后看具体模型的非技术参数角度,主要看precision和recall就行了

对于2,冠军模型的选择问题 如果是分类算法,假设各个模型都调到最优了,各个模型对着原始分布测试集跑一遍,看一下ROC,看测出来的AUC和KS之类的高阶指标就能解决冠军模型的筛选问题,precision和recall在这里作用基本没法用。也许这就是你的疑惑所在?哈哈。。我的案例应该解答了你的问题啦 另外像AUC KS logloss这些常用于模型筛选的指标最好都建立一下数据感觉,比如1比1样本里AUC值最低是0.5(这值就等于随机抽样了),但是样本比例变化后,p&r两个值会变化,你不要拿着不同分布样本集测出来的P&R来跟别人说模型筛选的事情。。。

对于3,模型部署的最终业务决策

主要靠测试集的precision和recall这种比较直接浅显的指标来解决,更重要的是要基于ROC或者别的曲线,甚至是直接模型上马以后,输入现实的成本和收益指标,去算不同pentile分数段的ROI等等(我刚才举的吵架的例子,往往是看不同分数段的召回率,及其每召回一个需要付出的人工审核成本,毕竟几十个只有一个是真的坏账),帮助老板做预算决策,因为数据挖掘模型的部署,往往意味着成本投入,和原有业务的重构,你要为高层的决策提供更进一步的各种数据支持。。

auc 和loss_精确率、召回率、F1 值、ROC、AUC 各自的优缺点是什么?相关推荐

  1. 精确率(Precision)、召回率(Recall)与F1值

    衡量二分类器的评价指标除了准确率(Accuracy)外,还有精确率(Precision).召回率(Recall).F1 值等. 精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的 ...

  2. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集

    各位同学好,经过前几章python机器学习的探索,想必大家对各种预测方法也有了一定的认识.今天我们来进行一次实战,心脏病病例预测,本文对一些基础方法就不进行详细解释,有疑问的同学可以看我前几篇机器学习 ...

  3. 精度,精确率,召回率_了解并记住精度和召回率

    精度,精确率,召回率 Hello folks, greetings. So, maybe you are thinking what's so hard in precision and recall ...

  4. 机器学习(15)精确率召回率F1-score(查看癌症预测结果的精确率、召回率)

    目录 一.基础理论 1.混淆矩阵 2.精确率 3.召回率 4.F1-score 二.查看癌症预测结果的精确率.召回率 API 查看癌症预测结果的精确率.召回率 总代码 一.基础理论 1.混淆矩阵 预测 ...

  5. 准确率,召回率,F值,ROC,AUC

    准确率,召回率,F值,ROC,AUC 责任编辑:词汇网 发表时间:2016-4-23 20:08:08 度量表 1.准确率 (presion)p=TPTP+FP 理解为你预测对的正例数占你预测正例总量 ...

  6. 图像分类 图像分割的评价指标(混淆矩阵 正确率 精准率 召回率 F1分数 IOU dice系数)

    在图像分类或者图像分割中,为评价模型的预测效果,在训练过程中通常需要比较预测值与真实标签值的差距,即误差. 目录 图像分类过程的评价指标 混淆矩阵 正确率/准确率 精准率 召回率 F1分数 图像分割过 ...

  7. 机器学习中精准率/召回率/PR曲线/AUC-ROC曲线等概念

    目录 TP/TN/FP/FN accuracy(准确率) precision(精确率/查准率) recall(召回率/查全率) F1分数与Fβ分数 PR曲线(precision recall curv ...

  8. 分类算法的评价指标-混淆矩阵,精准率召回率,pr曲线,roc曲线等

    文章目录 前言 一.混淆矩阵(confusion matrix)? 二.精准率和召回率 1.精准率 2.召回率 3.自己实现精准率和召回率以及混淆矩阵 4.sklearn中的精准率召回率以及混淆矩阵 ...

  9. 算法评价指标:准确率+精准率+召回率

    评价指标: (1)(True Postive TP): 若一个实例是正类,但是被预测成为正类,即为真正类 (2)(True Negative TN): 若一个实例是负类,但是被预测成为负类,即为真负类 ...

最新文章

  1. 疯狂上涨的 Python,开发者应从 2.x 还是 3.x 着手?
  2. intellij idea 配置远程访问本地的tomcat项目
  3. Building Java Projects with Gradle
  4. html5的网页布局工具,HTML5网站响应式布局的主流设计方法介绍及工具推荐
  5. iOS 地图定位 定位
  6. 《操作系统》实验报告——熟悉Linux基础命令及进程管理
  7. 【索引】反向索引--条件 范围查询(二)
  8. 内存模型 linux,内存模型 - STM32F4 编程手册学习_Linux编程_Linux公社-Linux系统门户网站...
  9. 光缆故障定位检测仪使用方法简介
  10. 重写JS保留小数-去尾法
  11. 如何更好地吸收维生素矿物质?
  12. Mac 配置maven
  13. css 波纹扩散_css水波纹动画
  14. add as library是什么?有什么用?如何打开?
  15. 论文阅读——A higher-order CRF model for road network extraction
  16. Javaweb学习笔记3—Serverlet
  17. AstrOrz Player 0.72v 国庆最新版本(2012/09/22)更新无期限版本获取方式!(2013/02/14)
  18. openfalcon 组件监控_监控软件之open-falcon
  19. Java计算机毕业设计德纳影城售票管理源码+系统+数据库+lw文档
  20. swift for循环 遍历字典 循环生成数组

热门文章

  1. python包含html5么_python-HTML(HTML5级别)
  2. ccd相机好修吗_CCD到底值不值得买,CCD相机入坑全过程
  3. 华硕java安装教程win10_华硕笔记本安装win10系统教程
  4. 计算机nit证书怎么学,计算机等级考试证书和NIT可以抵免自考中哪些课程?
  5. 支持多分支语句吗_Go的条件判断语句
  6. springboot 事务_第六章:springboot开启声明式事务
  7. OSChina 周三乱弹 —— 公司里的潜规则
  8. ThinkCMF变量输出+使用函数
  9. Qt5.7 win10环境 调试器未设置问题解决
  10. MySQL for Java的SQL注入测试