ROC曲线与癌症分类
2015-11-25 09:47
169 查看
ROC曲线
ROC(receiver operating characteristic curve)曲线的对象是二分类问题,选择不同的阈值会有不同的分类结果。ROC将不同阈值下的
TP rate和
FP rate表示在一张图表上,便于直观地看到不同阈值的作用以及分类器本身的作用情况。
Confusion Matrix如下:
ROC curve如下,不同的阈值对应着图上不同的点:
其中,
Sensitivity=TPrate=TPTP+FNSpecificity=FPrate=FPFP+TN
一般认为越靠近左上角分类结果越好(TP rate高,FP rate低)。这表示对于Positive的样本有很大的概率识别出来(TP rate高),同时对Negative的样本有较小的误判几率(FP rate低)。
二分类问题的评价标准
最典型的评价标准是AUC,也就是
ROC曲线下的面积(
baseline model的AUC是0.5)。
同时,根据不同分类的严重性不同,也可以定义自己的
cost function。
癌症分类
下面举一个癌症分类的例子,你会发现有时候现实和常识往往不一样哦。Tables | Positive | Negative | All Row |
---|---|---|---|
+ | 0.0095 | 0.0005 | 0.01 |
− | 0.198 | 0.792 | 0.99 |
All Column | 0.2075 | 0.7925 | 1.00 |
confusion matrix简单阐述下:
人群中患癌症的概率是P(+)=0.01,不患癌症的概率是P(−)=0.99
患癌症的人被检测出来患癌症的概率是P(P|+)P(+)=95%。
那么,问题是如果有一个人被检测出来患癌症,那么他真的患癌症的概率是多少呢?
想一想,在心里面给一个答案^_^。
真实的答案是4.6%。
P(P|+)=P(P+)P(P)=0.00950.2075=4.6%
有没有觉得跟自己想象的差别很大,95%的
TP rate虽然很高,但是也得关注下20%的
FP rate,并且人群中不患癌症的占了99%。
或者换个角度,假如把所有病人都判定为患癌症,那么
TP rate是1感觉还不错哦,但是这时候的
FP rate是1,也就是把所有不患癌症的都判断患癌症,这不是很好啊。这个时候即使判断你为癌症那么可信度也不高。
P(P|+)=P(P+)P(P)=1%
相关文章推荐
- 用Python从零实现贝叶斯分类器的机器学习的教程
- My Machine Learning
- 机器学习---学习首页 3ff0
- 反向传播(Backpropagation)算法的数学原理
- 也谈 机器学习到底有没有用 ?
- 量子计算机编程原理简介 和 机器学习
- 初识机器学习算法有哪些?
- 10个关于人工智能和机器学习的有趣开源项目
- 机器学习实践中应避免的7种常见错误
- 机器学习书单
- 北美常用的机器学习/自然语言处理/语音处理经典书籍
- 如何提升COBOL系统代码分析效率
- 自动编程体系设想(一)
- 自动编程体系设想(一)
- 支持向量机(SVM)算法概述
- 神经网络初步学习手记
- 常用的分类评估--基于R语言
- 开始spark之旅
- spark的几点备忘
- 关于机器学习的学习笔记(一):机器学习概念