ROC曲线与癌症分类

ROC曲线

ROC(receiver operating characteristic curve)曲线的对象是二分类问题,选择不同的阈值会有不同的分类结果。 ROC将不同阈值下的TP rateFP rate表示在一张图表上,便于直观地看到不同阈值的作用以及分类器本身的作用情况。

Confusion Matrix如下:

ROC curve如下,不同的阈值对应着图上不同的点:

其中,

Sensitivity=TPrate=TPTP+FNSpecificity=FPrate=FPFP+TN

\begin{split} \mathrm{Sensitivity} = \mathrm{TPrate} = \frac{TP}{TP+FN} \\ \mathrm{Specificity} = \mathrm{FPrate} = \frac{FP}{FP+TN} \end{split} 一般认为越靠近左上角分类结果越好(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.01P(+)=0.01,不患癌症的概率是P(−)=0.99P(-)=0.99
  • 患癌症的人被检测出来患癌症的概率是P(P|+)P(+)=95%\frac{P(P|+)}{P(+)}=95\%。

那么,问题是如果有一个人被检测出来患癌症,那么他真的患癌症的概率是多少呢?

想一想,在心里面给一个答案^_^。

真实的答案是4.6%4.6\%。

P(P|+)=P(P+)P(P)=0.00950.2075=4.6%

P(P|+) = \frac{P(P+)}{P(P)}=\frac{0.0095}{0.2075}=4.6\%

有没有觉得跟自己想象的差别很大,95%95\%的TP rate虽然很高,但是也得关注下20%20\%的FP rate,并且人群中不患癌症的占了99%99\%。

或者换个角度,假如把所有病人都判定为患癌症,那么TP rate是1感觉还不错哦,但是这时候的FP rate是1,也就是把所有不患癌症的都判断患癌症,这不是很好啊。这个时候即使判断你为癌症那么可信度也不高。

P(P|+)=P(P+)P(P)=1%

P(P|+) = \frac{P(P+)}{P(P)}=1\%

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python中文社区

基于RNN自动生成古诗

專 欄 ❈ 作者:yonggege,Python中文社区专栏作者 GitHub地址:https://github.com/wzyonggege ❈ 0. ch...

2465
来自专栏深度学习之tensorflow实战篇

关于决策树ID3算法,熵,信息增益率的权威解释,稍后奉上python代码

决策树分类算法概述 决策树算法是从数据的属性(或者特征)出发,以属性作为基础,划分不同的类。 看了本书,叫知识发现,内容很好,果断扫描 这里...

3204
来自专栏AI研习社

Github 项目推荐 | 用 TensorFlow 实现的模型集合

该库包含了大量用 TensorFlow 实现的不同模型。 官方模型(official models) 文件里是使用 TensorFlow 高级 API 的示例模...

3606
来自专栏专知

【干货】TensorFlow实战——图像分类神经网络模型

Learn how to classify images with TensorFlow 使用TensorFlow创建一个简单而强大的图像分类神经网络模型 by...

4286
来自专栏程序员宝库

Python验证码识别:利用pytesser识别简单图形验证码

来源: j_hao104 my.oschina.net/jhao104/blog/647326 一、探讨 识别图形验证码可以说是做爬虫的必修课,涉及到计算机图...

53810
来自专栏AI黑科技工具箱

1.试水:可定制的数据预处理与如此简单的数据增强(下)

上一部分我们讲了MXNet中NDArray模块实际上有很多可以继续玩的地方,不限于卷积,包括循环神经网络RNN、线性上采样、池化操作等,都可以直接用NDArra...

3593
来自专栏AI研习社

Github 项目推荐 | 由文本生成人脸图像 —— T2F

T2F 结合了最近的两个架构 StackGAN 和 ProGAN,用于从文本描述中合成面部,该项目使用 Face2Text 数据集,每个数据集包含 400 个图...

1062
来自专栏素质云笔记

图像增强︱window7+opencv3.2+keras/theano简单应用(函数解读)

在服务器上安装opencv遇到跟CUDA8.0不适配的问题,于是不得不看看其他机器是否可以预装并使用。 . 一、python+opencv3.2安装 ope...

38410
来自专栏北京马哥教育

20行 Python 代码实现验证码识别

一、探讨 识别图形验证码可以说是做爬虫的必修课,涉及到计算机图形学,机器学习,机器视觉,人工智能等等高深领域…… 简单地说,计算机图形学的主要研究内容就是研究如...

5108
来自专栏ATYUN订阅号

Deep Photo Styletransfer的一种纯Tensorflow实现,教你如何转换图片风格

通过深度学习,一秒钟让你的照片高大上,这是康奈尔大学和 Adobe 的工程师合作的一个新项目,通过卷积神经网络把图片进行风格迁移。项目已开源,名字叫「Deep ...

4575

扫码关注云+社区