1 何为 Imbalanced class problem

在分类问题中,有时候一种类别的数据会远远的多于另外一种类别,

但正是这些少量的类别的数据,往往又是极其重要的。

比如信用卡欺诈事件,该事件远远地小于信用卡未被欺诈的事件。

要从信用卡操作的数据中,识别出欺诈这一类别的事件,比例极其小,但确是及其重要的。

在大量的操作数据中找到欺诈事件,犹如大海捞针。

这个时候如果继续使用精度来评估分类器就不准确了。

因为即使把所有的信用卡操作数据,都判断为未欺诈类别,

其正确率也可以达到99.999......%,这种分类器明显是无用的。

针对Imbalanced class problem, 研究者提出了许多其它的参数来评估模型。

2 Confusion Matrix

2.1 相关概念

在Confusion Matrix中,

由Confusion Matrix 定义一些参数:

2.2 计算实例

实例中的分类器,虽然正确率达到了99.1%,但是Recall参数只有0.1, 对于class=Yes 类别的预测,

正确率只有10%,非常低。

2.3 分类问题的拓展参数

还是类似的的confusion matrix


3 ROC(Receiver Operating Characteristic)

ROC 发展于20世纪50年代的信号检测理论, 用于显示检测率和误报警率之间的权衡。

ROC曲线显示TPR与FPR的关系,用ROC曲线上的一个点表示模型的性能,

改变分类器的阈值参数会改变点的位置

(TPR,FPR)

  • (0,0):把所有数据判别为负类;
  • (1,1):把所有数据判别为正类;
  • (1,0):理想情况

对角线是一条假想线,低于该线表示于正确的类别相反。

4 基于ROC的模型比较

没有一种模型总是好于另一种

上图中,对于小的FPR值,M1 更好

对于大的FPR值,M12更好

5 如何构建一个ROC曲线

  • 为每个实例,使用分类器产生一个连续值的分数,该实例在+ class 的可能性越高,得分越高
  • 根据分数,按照降序排列实例
  • 应用一个阈值在每个独特价分数值
  • 在每个阈值计算TPFP, TN, FN的数量,

TPR = TP / (TP + FN)

FPR= FP / (FP + TN)

Imbalanced class problem(ROC, Confusion Matrix)相关推荐

  1. 算法模型评价详解:confusion matrix Accuracy Precision Recall F1 调和平均 加权F1 Micro-F1 Macro-F1 PRC ROC AUC

    目录 问题定义 confusion matrix Accuracy Precision和Recall和PRC F1和调和平均 加权F1 Micro-F1和Macro-F1 ROC和AUC PRC对比R ...

  2. 模型评估指标(Confusion Matrix、ROC、AUC)

    文章目录 1.选择合适的模型评估指标的依据 2.混淆矩阵(Confusion Matrix) 2.1 模型整体效果:准确率 2.2 捕捉少数类:精确率(Precision).召回率(Recall)和F ...

  3. 多分类问题中混淆矩阵(Confusion Matrix)的Matlab画法

    在多分类问题中,有一种很实用的分类问题结果统计图. 比如说多类别文类问题,那么每一个类别分到其他类别都有一些数据,但是分到自己类别的毕竟多,这样计算百分比之后就形成了一个矩阵,如果分类正确率高的话,那 ...

  4. WEKA “Detailed Accuracy By Class”和“Confusion Matrix”含义

    原文 === Summary ===(总结) Correctly Classified Instances(正确分类的实例)          45               90      % I ...

  5. matlab 分类学习工具箱 Classification Learner的使用及导出其生成的图,混淆矩阵confusion matrix的画法

    声明:转自https://blog.csdn.net/qq_27914913/article/details/71436838 https://blog.csdn.net/evil_xue/artic ...

  6. 分类模型之混淆矩阵(Confusion Matrix)

    目录 混淆矩阵简介 混淆矩阵及其参数 混淆矩阵的其他指标 混淆矩阵简介 混淆矩阵是ROC曲线绘制的基础,同时它也是衡量分类型模型准确度中最基本,最直观,计算最简单的方法. 可以简单理解为:将一个分类模 ...

  7. R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)

    R语言使用caret包的confusionMatrix函数计算混淆矩阵.使用编写的自定义函数可视化混淆矩阵(confusion matrix) 目录

  8. R语言自定义多分类混淆矩阵可视化函数(mutlti class confusion matrix)、R语言多分类混淆矩阵可视化

    R语言自定义多分类混淆矩阵可视化函数(mutlti class confusion matrix).R语言多分类混淆矩阵可视化 目录

  9. sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并计算融合模型的混淆矩阵、可视化混淆矩阵(confusion matrix)

    sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并计算融合模型的混淆矩阵.可视化混淆矩阵(confusion matrix) 目录

最新文章

  1. 基本概念学习(8003)---CPU中央处理器
  2. 数据库保护(数据库备份)Sql Server2012 图形界面操作
  3. Elasticsearch7.15.2 mysql8.0.26 logstash-input-jdbc 数据全量索引构建
  4. JCG新年献礼,JHR-N825R给力上市
  5. vue基础之data
  6. 基于人人网的简单爬虫(二)——具体实现
  7. 卸载软件后,win10应用与功能中仍有残留,解决方案。
  8. brew 安装软件能指定文件夹吗_Mac安装homebrew安装到指定目录
  9. Android蓝牙开发的一点总结
  10. cmmi3级和5级之间的区别是什么?
  11. Ubuntu 18.04 LTS安装后要做的11件事情
  12. Sim300模块AT命令
  13. 服务器抽屉式显示屏HL2158,大屏幕显示系统等采购结果公告 - 千里马招标网
  14. batik库在Maven中版本
  15. 计算机行业工资有多高?国内大厂薪资水准概览
  16. C# 完美解决窗体切换闪屏问题
  17. Linux线程编程记录
  18. stm32f407能跑linux吗_stm32能跑什么系统
  19. Catia V5高级图片造型视频教程 IMA宝马造型教程
  20. 电子老兵给年轻工程师的十大忠告(值得搞技术的我们深思!)

热门文章

  1. 美团酒旅起源数据治理平台的建设与实践
  2. 论文浅尝 | 利用指针生成网络的知识图谱自然语言生成
  3. 揭秘Python并发编程——协程
  4. 【Java】关于Java中的各种流
  5. Spring Security使用出现 Encoded password does not look like BCrypt异常的解决以及Spring Securit加密方式的学习
  6. JavaWeb:XML总结
  7. 【42.59%】【codeforces 602A】Two Bases
  8. Sprint2-3.0
  9. 牛客16438 回文日期
  10. 第一章 计算机网络 6 OSI参考模型 [计算机网络笔记]