• 大小: 372KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: ROC曲线  matlab  

资源简介

使用matlab画ROC曲线,% predict - 分类器对测试集的分类结果 % ground_truth - 测试集的正确标签,这里只考虑二分类,即0和1 % auc - 返回ROC曲线的曲线下的面积

资源截图

代码片段和文件信息

%  predict       - 分类器对测试集的分类结果
%  ground_truth - 测试集的正确标签这里只考虑二分类,即0和1
%  auc            - 返回ROC曲线的曲线下的面积
function  plot_roc()
%初始点为(1.0 1.0)
%计算出ground_truth中正样本的数目pos_num和负样本的数目neg_num
%  predict ground_truth
tic
data = xlsread(‘F:\滑坡\洪都拉斯\多元线性回归数据20170715\ROC_DATA.xlsx‘);
predict = data(:2);
ground_truth = data(:1);
pos_num = sum(ground_truth==1);
neg_num = sum(ground_truth==0);

m=size(ground_truth1);
[preIndex]=sort(predict);
ground_truth=ground_truth(Index);
x=zeros(m+11);
y=zeros(m+11);
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;%计算的面积
disp(‘AUC : ‘)
disp(auc)
%% plot%%
figure
plot(xy‘r‘‘linewidth‘1);
hold on 
plot([01][01])
grid on
set(gca‘XTick‘0:0.2:1);
set(gca‘YTick‘0:0.2:1);
axis equal
title(‘ROC Curve‘);
xlabel(‘1 - Specificity‘);
ylabel(‘Sensitivity‘);
set(gca ‘Fontname‘ ‘arial‘);
grid on
toc
end
%% Writed by 王明文 8/29/2017

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     416366  2017-08-29 19:52  ROC_DATA.xlsx

     文件       1174  2017-08-29 20:21  plot_roc.m

----------- ---------  ---------- -----  ----

               417540                    2


评论

共有 条评论