(原+转)ROC曲线
|
预测
|
||||
|
1
|
0
|
合计
|
||
|
实际
|
1
|
True Positive(TP)
|
False Negative(FN)
|
Actual Positive(TP+FN)
|
|
0
|
False Positive(FP)
|
True Negative(TN)
|
Actual Negative(FP+TN)
|
|
|
合计
|
Predicted Positive(TP+FP)
|
Predicted Negative(FN+TN)
|
TP+FP+FN+TN
|
|
Percentile
|
实例数
|
正例数
|
1-特异度(%)
|
敏感度(%)
|
|
10
|
6180
|
4879
|
2.73
|
34.64
|
|
20
|
6180
|
2804
|
9.80
|
54.55
|
|
30
|
6180
|
2165
|
18.22
|
69.92
|
|
40
|
6180
|
1506
|
28.01
|
80.62
|
|
50
|
6180
|
987
|
38.90
|
87.62
|
|
60
|
6180
|
529
|
50.74
|
91.38
|
|
70
|
6180
|
365
|
62.93
|
93.97
|
|
80
|
6180
|
294
|
75.26
|
96.06
|
|
90
|
6180
|
297
|
87.59
|
98.17
|
|
100
|
6177
|
258
|
100.00
|
100.00
|

上面的部分均来自百度百科。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
下面是自己的理解,如果不正确,欢迎指正(虽说基本上没啥人看。。。)
前几天画了ROC曲线,其实按照自己的理解,就是错误接受率(FAR,false acceptance rate)和错误拒绝率(FRR,false rejection rate)的关系曲线。FAR对应FP,FRR对应FN。这两个通过阈值T来计算。因为对于分类问题,都需要一个阈值,来判断某样本是属于positive还是negative。对应于每个阈值,都可以得到一个FAR和一个FRR。按照不同的stepsize,得到不同的阈值,便可以得到对应的一组FAR和FRR。之后画FAR和FRR的关系,便是ROC曲线。
matlab代码如下(由于FAR和FRR的数据变化范围比较大,因而使用了对数坐标log):
load('result.mat');
Pnum=length(resultP);
Nnum=length(resultN);
minN=min(resultN);
maxN=max(resultN);
index=;
for threshold=minN:0.002:maxN
index=index+;
FRR(index)=length(find(resultP>threshold))/Pnum;
FAR(index)=length(find(resultN<threshold))/Nnum;
thresholdT(index)=threshold;
end
plot(FAR,FRR);
title('ROC曲线');
set(gca,'yscale','log')
set(gca,'xscale','log')
axis([min(FAR) max(FAR)+0.01 min(FRR) max(FRR)])
grid on
grid minor
set(gca,'YTickMode','manual');
set(gca,'YMinorTick','on');
ylabelval=[1e- 1e- 1e- 1e- 0.2]';
set(gca,'ytick',ylabelval') ;
for kk=::length(ylabelval)
b(kk)='%';
end
ylabeltick=[num2str(ylabelval*),b'];
set(gca,'yticklabel',ylabeltick) ;
set(gca,'XTickMode','manual');
xlabelval=[1e- 1e- 1e- 1e- 1e- 1e- ]';
set(gca,'xtick',xlabelval) ;
for kk=::length(xlabelval)
a(kk)='%';
end
xlabeltick=[num2str(xlabelval*),a'];
set(gca,'xticklabel',xlabeltick);
xlabel('FAR');
ylabel('FRR');
画出来的结果如下:

(原+转)ROC曲线的更多相关文章
- xgene:之ROC曲线、ctDNA、small-RNA seq、甲基化seq、单细胞DNA, mRNA
灵敏度高 == 假阴性率低,即漏检率低,即有病人却没有发现出来的概率低. 用于判断:有一部分人患有一种疾病,某种检验方法可以在人群中检出多少个病人来. 特异性高 == 假阳性率低,即错把健康判定为病人 ...
- ROC曲线 vs Precision-Recall曲线
深入理解对比两个曲线各自的特性和相互的差异需要花不少时间研读一些国外的技术博客与相关paper,暂时先列出下面这么多,这部分后续可以继续补充. ROC曲线和AUC的定义可以参看“ROC曲线于AUC”, ...
- ROC曲线、PR曲线
在论文的结果分析中,ROC和PR曲线是经常用到的两个有力的展示图. 1.ROC曲线 ROC曲线(receiver operating characteristic)是一种对于灵敏度进行描述的功能图像. ...
- 精确率与召回率,RoC曲线与PR曲线
在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口 ...
- 【数据挖掘】朴素贝叶斯算法计算ROC曲线的面积
题记: 近来关于数据挖掘学习过程中,学习到朴素贝叶斯运算ROC曲线.也是本节实验课题,roc曲线的计算原理以及如果统计TP.FP.TN.FN.TPR.FPR.ROC面积等等.往往运用 ...
- PR曲线,ROC曲线,AUC指标等,Accuracy vs Precision
作为机器学习重要的评价指标,标题中的三个内容,在下面读书笔记里面都有讲: http://www.cnblogs.com/charlesblc/p/6188562.html 但是讲的不细,不太懂.今天又 ...
- 机器学习之分类器性能指标之ROC曲线、AUC值
分类器性能指标之ROC曲线.AUC值 一 roc曲线 1.roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性 ...
- [zz] ROC曲线
wiki https://zh.wikipedia.org/wiki/ROC%E6%9B%B2%E7%BA%BF 在信号检测理论中,接收者操作特征曲线(receiver operating chara ...
- ROC曲线、AUC、Precision、Recall、F-measure理解及Python实现
本文首先从整体上介绍ROC曲线.AUC.Precision.Recall以及F-measure,然后介绍上述这些评价指标的有趣特性,最后给出ROC曲线的一个Python实现示例. 一.ROC曲线.AU ...
随机推荐
- UIScrollView的大全
UIScrollView是iOS中提供滚动控件,用于解决当内容区域大于可视区域时不能完全查看的问题,UISrollView就可提供滑动方式查看全部内容,UISrollView是所有滚动视图的基类,后期 ...
- hdu1175连连看
Problem Description “连连看”相信很多人都玩过.没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子.如果某两个相同的棋子,可以通过一条线连起来(这条线不能经 ...
- 什么是UML类图
百度了下,看评论不错我就收藏了,学习,真心不懂!!! 首先是复习一下UML中九种图的理解:http://xhf123456789plain.blog.163.com/blog/static/17288 ...
- LFS,编译自己的Linux系统 - 准备分区
分区 之前在安装ubuntu时已经分好了. 建立文件系统 sudo mkfs –v –t ext4 /dev/sda3 挂载文件系统 sudo mkdir /mnt/lfs sudo mount –v ...
- ipython的notebook
ipython是增强的python交互式shell.而notebook是在浏览器上运行ipython ubuntu下安装: sudo apt-get install ipython3 sudo apt ...
- jquery实现二级联动
闲来没事,写点jquery练练手. <!--json代码部分 新建文件liandong.json--> var pron_city = { '省':['all'], '北京':[ {'市' ...
- 九、 合成(Composite)模式 --结构模式(Structural Pattern)
合成模式:有时又叫做部分-整体模式(Part-Whole).合成模式将对象组织到树结构中,可以用来描述整体与部分的关系.合成模式可以使客户端将单纯元素与复合元素同等看待. 合成模式分为安全式和透明式 ...
- js 创建对象
1.工厂模式 function createPerson(name, age, job) { var o = new Object(); o.name = name; o.age = age; o.j ...
- Grid++Report 报表开发工具
Grid++Report 报表开发工具 版本 更新日期 大小 下载 说明 Grid++Repoert6.0.0.6 2015/08/08 16.0M [下载] 锐浪报表工具最新版本,新增功能说 ...
- ZOJ-3410Layton's Escape(优先队列+贪心)
Layton's Escape Time Limit: 2 Seconds Memory Limit: 65536 KB Professor Layton is a renowned arc ...