机器学习分类模型存在一种情况叫偏斜类。偏斜类简单理解就是在训练模型时由于正样本和负样本之间的严重不平衡,导致模型最后检测全部都是1或者全部都是0。假设正样本的y值为1,当正样本远远多于负样本的时候,训练好的模型就会一直输出1,这会给我们判断模型优劣带来一定的障碍,比如模型输出1的概率是99.8%,输出0的概率是0.2%,这里我们就会认为模型的精度很好,误差很小。但是其实这种结果是由于数据集的不平衡导致的。因此我们迫切需要一种新方法判断模型的优劣而不仅仅是从accuracy和error。

因此我们接下来引出两个参数一个是precision,另一个是recall。如下图:


Actual class是实际的类别,Predicted class是预测的类别。当预测类别和真实类别均为1时为True positive(TP),当真实类为0预测为1则说明预测错误为False positive(FP),当预测为0真实类为1则预测错误为False negative(FN),当预测和真实均为0时说明为True negative(TN)。

假设y=1是要检测的类别:

precision(查准率) =TP / (TP+FP) 查准率是真实类别和预测类别均为1然后除以预测类别为1的总和(红色框框)
Recall(召回率) = TP / (TP+FN) 召回率是真实类别和预测类别均为1除以真实类为1(不管预测对不对,黄色框框

当出现偏斜类,假设正样本很多,负样本很少时就会出现模型一直识别为1,这样就会使得召回率很高,查准率很低,当正样本很少,负样本很多,模型就会一直识别0,就会导致召回率接近为0。因此当出现偏斜类时就能根据这两个参数判断模型的性能,我们实际应用中希望召回率和查准率两者均高一点,模型性能会好一些。

由于查准率和召回率有两个数值,有时候难以抉择,如下图 :

有三个算法,3个算法的查准率和召回率如上图,如何根据这些数值选择机器学习算法。先观察第三个算法,召回率很高,查准率很低说明模型一直识别1,样本出现偏斜。

可根据如下公式计算出的数值大小判断选择哪一个算法,P代表查准率,R代表召回率:

机器学习之偏斜类误差度量相关推荐

  1. 吴恩达机器学习笔记39-误差分析与类偏斜的误差度量(Error Analysis and Error Metrics for Skewed Classes)...

    如果你准备研究机器学习的东西,或者构造机器学习应用程序,最好的实践方法 不是建立一个非常复杂的系统,拥有多么复杂的变量:而是构建一个简单的算法,这样你可 以很快地实现它. 构建一个学习算法的推荐方法为 ...

  2. 4.5 偏斜类-机器学习笔记-斯坦福吴恩达教授

    偏斜类(Skewed Classes) 引子 假定我们通过逻辑回归来预测病人是否患有癌症: y={0,病人未患癌症1,病人患有癌症y=\begin{cases}0,\quad病人未患癌症\\1,\qu ...

  3. 只能选择分卷文件的第一部分。_为机器学习模型选择正确的度量评估(第一部分)...

    作者:Alvira Swalin 编译:ronghuaiyang 导读 对不同的应用场景,需要不同的模型,对于不同的模型,需要不同的度量评估方式.本系列的第一部分主要关注回归的度量 在后现代主义的世界 ...

  4. 【Machine Learning, Coursera】机器学习Week6 偏斜数据集的处理

    ML Week6: Handing Skewed Data 本节内容: 查准率(precision)和召回率(recall) F1F_1F1​ Score 偏斜类(skewed class)问题:数据 ...

  5. 我的人工智能之旅——偏斜类问题

    偏斜类问题 正样本数占样本总数的比例极小时,容易出现偏斜类问题. 例如癌症测试.样本集合中仅有0.5%的癌症样本,99.5%的正常样本.通过某一假设函数后,得到1%为癌症患者,99%为正常样本.虽然总 ...

  6. 机器学习入门12--聚类1

    本系列博客基于温州大学黄海广博士的机器学习课程的笔记,小伙伴们想更详细学习黄博士课程请移步到黄博士的Github.或者机器学习初学者公众号,现在在中国慕课也是可以学习的,内容包括机器学习.深度学习及P ...

  7. 机器学习中是如何处理误差的

    我们知道,同一个问题,可采用多种机器学习模型来解决,那如何评价这些模型的好坏呢?这时,就需要构建一系列"靠谱"的标准.因此,提及机器学习,性能评估是一个绕不开的话题. 训练误差与测 ...

  8. 机器学习第十章---降维与度量学习

    1.k近邻学习 k近邻学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个"邻居"的信息来进行预测. ...

  9. 机器学习之常见的性能度量

    文章目录 1.简介 2.性能度量总结 3.参考文献 1.简介 本文是对论文<The Impact of Automated Parameter Optimization on Defect Pr ...

最新文章

  1. Python_logging模块
  2. linux vim编辑kconfig 无法wq,编译linux-3.15.5时遇到的几个错误
  3. 迎开学水题狂欢赛(舞踏会[dp+三叉树],HH去散步[矩阵快速幂],排序[模拟],铁路旅行[线段树])
  4. Spring 之注解事务 @Transactional
  5. 初始java_第一章__初始JAVA
  6. 动态调用链接库(dll) 续
  7. 展开收起功能实现_小房间不一定要拥挤,这样设计实现小户型的大气!
  8. Linux  释放Linux 系统预留的硬盘空间
  9. Rust 修复隐秘的ReDoS 漏洞
  10. iOS 9检测QQ、微信是否安装
  11. 自动驾驶 2-4 环境表示 Environment Representation
  12. IAR报错:FlashK60Fxxx128K.board丢失 K60断电丢程序
  13. 如何用ps修改图片文字颜色
  14. 抑郁症自测量表测试软件,抑郁症测试专业量表(SDS)
  15. u盘里删除的文件可以恢复吗?分享解决方法
  16. BUUCTF·[MRCTF2020]天干地支+甲子·WP
  17. 网站服务器垃圾清理,服务器安全狗垃圾清理功能操作教程
  18. IDEA免费教育申请(不需要教育邮箱,只要你是学生!!!)
  19. 关于银河麒麟系统V10(海光版)下载更新NVIDIA驱动
  20. Verilog中 reg和wire 用法 以及always和assign的区别

热门文章

  1. 如何下载Office365离线安装程序包并手动安装?
  2. 石英晶振常用术语解释
  3. mvn compile报错“程序包com.XXX不存在”
  4. 诺基亚7原生android,诺基亚7快速上手体验:蔡司镜头回归,原生Android味
  5. mvn clean package是个什么鬼?
  6. Jetpack系列之Navigation----入门(五)
  7. 总结下花了大约半年的时间从零开始的unity游戏开发(1)
  8. 基于CommonsCollections4的Gadget分析
  9. 支持WIN7的VSCode版本
  10. 配置微信公众号业务域名,解决“非微信官方网页,请确认是否继续访问”问题