matlab roc曲线怎么画

2024-04-27

1. matlab roc曲线怎么画

ROC曲线(Receiver Operating Characteristic Curve)是利用Classification模型真正率(True Positive Rate)和假正率(False Positive Rate)作为坐标轴,图形化表示分类方法的准确率的高低。

ROC图的一些概念定义:: 
真正(True Positive , TP)被模型预测为正的正样本 
假负(False Negative , FN)被模型预测为负的正样本 
假正(False Positive , FP)被模型预测为正的负样本 
真负(True Negative , TN)被模型预测为负的负样本 
真正率(TPR)
TPR = TP /(TP + FN) 
正样本预测结果数 / 正样本实际数 。在ROC曲线中,TPR作为Y轴

假正率( FPR) 
FPR = FP /(FP + TN) 
被预测为正的负样本结果数 /负样本实际数 。在ROC曲线中,FPR作为X轴

关于ROC曲线的相关概念的解释,请参阅cowboy_wz的博客ROC曲线:http://blog.csdn.net/chl033/article/details/4507544


我在此主要做的事情是画出ROC曲线工程实现方面的一些解释。我们设计一个函数,此函数需要有一个模型预测值predict和数据标签值ground_truth作为输入参数。分为几步进行实现。


(1)统计数据标签值ground_truth(及y)中分类为0和分类为1的数据数目:

pos_num=sum(ground_truth==1);neg_num=sum(ground_truth);


(2)对利用模型求出的预测值predict由低到高进行排序;对应数据原来所在位置进行索引记录,用于重新排序ground_truth.利用函数sort实现,sort详情请查看help文档:

[pre,Index]=sort(predict); ground_truth=ground_truth(Index);


(3)对ground_truth和predict遍历i=1:n,n是测试集数目。其目的是随着predict中概率的增加,随着增加判断正负样本的阈值;也就是说取遍历到的predict值为阈值,大于阈值的假设预测为正样本(阈值右边),小于阈值的假设预测为负样本(阈值左边)。

所以同时我们可得到真正TP 和假正FP值:TP=sum(ground_truth(i:n)==1);FP=sum(ground_truth(i:n)==0);

这时我们就可以求取TPR 和FPR了:TPR=TP/pos_num;  FPR=FP/neg_num;   把求取到的值保存起来(x(i),y(i)),因为这就是我们要在图上画的点。


(4)返回曲线与坐标轴间的面积auc。我们的目的是测量数据的准确率,这个面积就是一个量度,auc越大,准确率越高。

auc=auc+(y(i)+y(i-1))*(x(i-1)-x(i))/2;


实现ROC曲线的代码如下:

%  predict       - 分类器对测试集的分类结果
%  ground_truth - 测试集的正确标签,这里只考虑二分类,即0和1
%  auc            - 返回ROC曲线的曲线下的面积
function auc = plot_roc( predict, ground_truth )
%初始点为(1.0, 1.0)
%计算出ground_truth中正样本的数目pos_num和负样本的数目neg_num

pos_num = sum(ground_truth==1);
neg_num = sum(ground_truth==0);

m=size(ground_truth,1);
[pre,Index]=sort(predict);
ground_truth=ground_truth(Index);
x=zeros(m+1,1);
y=zeros(m+1,1);
auc=0;
x(1)=1;y(1)=1;


for i=2:m
TP=sum(ground_truth(i:m)==1);FP=sum(ground_truth(i:m)==0);
x(i)=FP/neg_num;
y(i)=TP/pos_num;
auc=auc+(y(i)+y(i-1))*(x(i-1)-x(i))/2;
end;


x(m+1)=0;y(m+1)=0;
auc=auc+y(m)*x(m)/2;
plot(x,y);
end

matlab roc曲线怎么画

2. roc曲线的正确解读

roc曲线的正确解读为:
(一)ROC 曲线的概念
受试者工作特征曲线 ( receiver operator characteristic curve, ROC 曲线),最初用于评价雷达性能,又称为接收者操作特性曲线。
ROC 曲线是根据一系列不同的二分类方式(分界值或决定尔),以真阳性率 (灵敏度)为以坐标,假阳性率(1-特异度)为横坐标绘制的曲线。传统的诊断试验汗价方法有一个其同的特点,必须将武验结果分为两类 ,再进行统计分析。
ROC 曲线的评价方法与传统的评价方法不同,无须此限制,而是根据实际情况许有中间状态,可以把武验结果划分为多个有序分类,如正常、大致正常、可疑、大致常和升常五个等级再进行统计分析。因此,ROC 曲线评价方法适用的范国更为广泛。

(二)ROC 曲线的主要作用
1ROC 曲线能很容易地查出任意界限值时的对疾病的识别能力。
2选择最佳的诊断界限值。ROC 曲线越章近左上角,试验的准确性就越高。最靠近左上角的ROC 曲线的点是错误最少的最好国值,其假阳性和假阴性的总数最小。

3.两种或两种以上不同诊断试验对疾病识别能力的比较。在对同一种疾病的两种或两种以上诊断方法进行比较时 ,可将各过验的 ROC 曲线绘制到同一坐标中,以直观地鉴别优劣,靠近左上角的ROC 曲线所代表的受试者工作最准确。亦可通过分别计算各个试验的ROC 曲线下的面积(AUC)进行比较,哪一种试验的AUC 最大,则哪一种试验的诊断价值

3. roc曲线的正确解读

关于roc曲线的正确解读如下:
ROC曲线,也称受试者工作特征曲线,感受性曲线;ROC曲线最初是运用在军事上,当前在医学领域使用非常广泛,用于研究X对于Y的预测准确率情况。
案例:雷达兵的任务在于监视雷达,观察是否有敌机来袭,当然如果有飞鸟来袭,也会出现信号,如果过于谨慎有信号就报告,

会增加误报风险,但如果过于大胆,凡是信号都认为是飞鸟这会出现很大风险。ROC曲线正是解决此类问题,即用于尽最大可能研究敌机信号和飞鸟信号之间的区别,以增加预报准确性。
核心在于研究漏报和误报之间的概率分布情况,横坐标表示飞鸟信息不报告的概率,纵坐标表示敌机信息报告的概率即正确报告的概率,将对应的点连成曲线,这条曲线就是ROC曲线。
名词解释ROC曲线最初运用于军事上,当前ROC曲线在医学领域有着广泛的使用。医学上更多称为“阳性”(比如敌机)或“阴性”(比如飞鸟),对应着X轴即1-特异性也称为假阳性率(误报率),该值越小越好;Y轴敏感度也称为真阳性率(敏感度),该值越大越好。
操作与分析数据背景本案例研究产妇年龄,产妇体重这两项对于“低出生体重儿”的预测准确率,针对“低出生体重儿”列,数字1表示低出生体重儿,0表示不是低出生体重。数字1表示“阳性”,数字0表示“阴性”,因此切割点设置为1。

从上表可知,针对产妇年龄, 产妇体重共2项构造ROC曲线,用于判断其对于“低出生体重儿”的诊断预测价值,首先进行状态变量的设置。
以数字1作为切割点, 1为阳性,0作为阴性。最终从上表可可以看出:阳性(此处即为“低出生体重儿”)比例为68.78%,阴性(此处即为“非低出生体重儿”)比例为31.22%。
ROC 曲线可用于疾病识别能力的判断,首先需要确定金标准(分割点),并且主动设置;第一步:状态变量等于分割点时为阳性,其它为阴性;第二步:可对阳性和阴性的基本频数分布情况进行简单描述。

roc曲线的正确解读

4. roc曲线的正确解读

您好,很高兴为您解答roc曲线的正确解读解答:受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为 感受性曲线(sensitivity curve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一 信号刺激的反应,只不过是在几种不同的判定标准下所得的结果而已。接受者操作特性曲线就是以假阳性概率(False positive rate)为 横轴,击中概率为纵轴所组成的坐标图,和被试在特定刺激条件下由于采用不同的判断标准得出的不同结果画出的曲线。ROC 曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。传统的诊断试验评价方 法有一个共同的特点,必须将试验结果分为两类,再进行统计分析。ROC曲线的评价方法与传统的评价方法不同,无须此限制,而是根据实际情况,允许有中间状 态,可以把试验结果划分为多个有序分类,如正常、大致正常、可疑、大致异常和异常五个等级再进行统计分析。因此,ROC曲线评价方法适用的范围更为广泛。【摘要】
roc曲线的正确解读【提问】
您好,很高兴为您解答roc曲线的正确解读解答:受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线),又称为 感受性曲线(sensitivity curve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一 信号刺激的反应,只不过是在几种不同的判定标准下所得的结果而已。接受者操作特性曲线就是以假阳性概率(False positive rate)为 横轴,击中概率为纵轴所组成的坐标图,和被试在特定刺激条件下由于采用不同的判断标准得出的不同结果画出的曲线。ROC 曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。传统的诊断试验评价方 法有一个共同的特点,必须将试验结果分为两类,再进行统计分析。ROC曲线的评价方法与传统的评价方法不同,无须此限制,而是根据实际情况,允许有中间状 态,可以把试验结果划分为多个有序分类,如正常、大致正常、可疑、大致异常和异常五个等级再进行统计分析。因此,ROC曲线评价方法适用的范围更为广泛。【回答】

5. roc曲线如何确定及其用途

roc曲线确定及其用途:1、ROC曲线能很容易地查出任意界限值时的对疾病的识别能力。2、选择最佳的诊断界限值。ROC曲线越靠近左上角,试验的准确性就越高。最靠近左上角的ROC曲线的点是错误最少的最好阈值,其假阳性和假阴性的总数最少。3、两种或两种以上不同诊断试验对疾病识别能力的比较。在对同一种疾病的两种或两种以上诊断方法进行比较时,可将各试验的ROC曲线绘制到同一坐标中,以直观地鉴别优劣,靠近左上角的ROC曲线所代表的受试者工作最准确。亦可通过分别计算各个试验的ROC曲线下的面积(AUC)进行比较,哪一种试验的AUC最大,则哪一种试验的诊断价值最佳。

roc曲线如何确定及其用途

6. roc曲线横轴计算

您好  亲亲 roc曲线横轴的计算 1.ROC曲线全称为受试者工作特征曲线 (receiver operating characteristic curve,一般都处于y=x直线的上方,取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。
 2.ROC曲线的横坐标是假阳性率(False Positive Rate),纵坐标是真阳性率(True Positive Rate),相应的还有真阴性率(True Negative Rate)和假阴性率(False Negative Rate)。这四类指标的计算方法如下:
 (1)假阳性率(FPR):判定为正例却不是真正例的概率,即真负例中判为正例的概率
 (2)真阳性率(TPR):判定为正例也是真正例的概率,即真正例中判为正例的概率(也即正例召回率)
 (3)假阴性率(FNR):判定为负例却不是真负例的概率,即真正例中判为负例的概率。
 (4)真阴性率(TNR):判定为负例也是真负例的概率,即真负例中判为负例的概率。
 3.ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。ROC曲线越靠近左上角,模型的准确性就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。【摘要】
roc曲线横轴计算【提问】
您好!很高兴能为您服务,你的问题我们已经看到,正在努力为你整理资料,五分钟内回复您,谢谢!  ^-^【回答】
您好  亲亲 roc曲线横轴的计算 1.ROC曲线全称为受试者工作特征曲线 (receiver operating characteristic curve,一般都处于y=x直线的上方,取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。
 2.ROC曲线的横坐标是假阳性率(False Positive Rate),纵坐标是真阳性率(True Positive Rate),相应的还有真阴性率(True Negative Rate)和假阴性率(False Negative Rate)。这四类指标的计算方法如下:
 (1)假阳性率(FPR):判定为正例却不是真正例的概率,即真负例中判为正例的概率
 (2)真阳性率(TPR):判定为正例也是真正例的概率,即真正例中判为正例的概率(也即正例召回率)
 (3)假阴性率(FNR):判定为负例却不是真负例的概率,即真正例中判为负例的概率。
 (4)真阴性率(TNR):判定为负例也是真负例的概率,即真负例中判为负例的概率。
 3.ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。ROC曲线越靠近左上角,模型的准确性就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。【回答】

7. ROC曲线的绘制

ROC曲线的具体绘制实例:杨治良(1983)曾做过这样一个实验:选图画页500页,分成五个组,每组100张。五组画页的先定概率分别是0.1、0.3、0.5、0.7和0.9。对于每一组画页,主试者使用一种信号的先定概率,然后按此先定概率呈现给被试者一定数量的画页,要求被试者把它们当做“信号”记住。例如,先定概率为0.1时,则当作“信号”的画页为10张;当做“噪音”的画页为90张。作为信号的画页呈现完毕之后,与此组作为噪音的画页混合,然后随机地逐张呈现给被试。这时,每呈现一张画页,即要求被试判断此画页是“信号”还是“噪音”,并要求被试把结果记录在实验纸上。根据五种先定概率得到的实验结果,就可计算击中概率和虚惊概率。最后,根据不同先定概率下的击中概率和虚惊概率,就可在图上确定各点的位置,把五点联接起来就绘成一条 ROC曲线。

ROC曲线的绘制

8. ROC曲线的R中绘制

ROCR包中主要是两个class:prediction和performance。前者是将预测结果和真实标签组合在一起,生成一个 prediction对象,然后在用performance函数,按照给定的评价方法,生成一个performance对象,最后直接对 performance用plot函数就能绘制出相应的ROC曲线。  123456  # plot a ROC curve for a single prediction run# and color the curve according to cutoff.data(ROCR.simple)pred <- prediction(ROCR.simple$predictions, ROCR.simple$labels)perf <- performance(pred,tpr,fpr)plot(perf,colorize=TRUE)  上面是ROCR中的一个例子,ROCR.simple$predictions是预测结果,ROCR.simple$labels是真实的标签,从而产生一个prediction对象;然后tpr是true positive rate的意思,fpr则是false positive rate的意思,这样最后画出来的就是最常见的ROC曲线。注:转自扩展阅读2的网址