(原+转)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 ...
随机推荐
- java一点东西(3)
运算符的优先级:()优先级最高 ! ++ -- 单目运算符 * / % + - > < <= >= == != && || 赋值符号 面向对象设计步骤:1.发现 ...
- hdu1219
Problem Description Ignatius is doing his homework now. The teacher gives him some articles and asks ...
- entity framework 6 通用数据类
原文 http://blog.csdn.net/laokaizzz/article/details/25730813 public class BaseDAL { string strConn = ...
- PHP PSR-3 日志接口规范 (中文版)
日志接口规范 本文制定了日志类库的通用接口规范. 本规范的主要目的,是为了让日志类库以简单通用的方式,通过接收一个 Psr\Log\LoggerInterface 对象,来记录日志信息. 框架以及CM ...
- Sublime 插件安装
转http://www.cnblogs.com/Rising/p/3741116.html
- WPF中XAML中使用String.Format格式化字符串示例
货币格式 <TextBlock Text="{Binding Price, StringFormat={}{0:C}}" /> // $123.46 货币格式,一位小数 ...
- javascript加载优化
当加载js时,页面会一直在转,没有加载完. 如何优化这一点呢 js的加载方式介绍 同步加载---------------异步加载------------------延迟加载 异步加载仍然会触发wind ...
- DropBox与Box的区别,包括直接的投资人的评价(本地Sync可能还是挺重要的)
作者:曲凯链接:http://www.zhihu.com/question/22207220/answer/20642357来源:知乎著作权归作者所有,转载请联系作者获得授权. Box和Dropbox ...
- SqlServer sysobjects_table
--这是查询所有表的信息 select * from sysobjects where xtype='U'; --这是查询表的数量 select count(*) from sysobjects wh ...
- C语言的本质(36)——makefile基础
除了Hello World这种极简单的程序之外,一般的程序都是由多个源文件编译链接而成的,这些源文件的处理步骤通常用Makefile来管理.makefile带来的好处就是--"自动化编译&q ...