资源简介
使用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
相关资源
- matlab批量读入excel表格,可以读文件和
- matlab计算表面曲率
- 禁忌搜索解决背包问题matlab
- 蚁群算法解决背包问题matlab
- matlab遗传算法解决背包问题
- matlab实现meanshift图像分割
- MATLAB常规均匀圆阵波束形成
- 小波基构造函数 Matlab函数
- 多种插值算法Matlab实现--数学建模
- 智能优化算法及其MATLAB源程序
- qpsk调制stbc仿真
- matlab递归生成树
- 寻找割集的matlab算例程序
- 计算短时过零率MATLAB
- 用matlab实现模拟退火kmeans聚类
- 逐步回归MATLAB程序(新)
- [MATLAB+R2017a人工智能算法][张德丰][程
- sgy地震波数据文件及MATLAB处理sgy文件
- 信道编码程序matlab
- 二维粒子群算法的matlab源程序.docx.z
- QPSKMATLAB仿真程序
- Matlab 下限制边界泰森多边形voronoi计算
- Matlab实现读取二进制数据绘制波形,
- matlab2014b
- gabormatlab
- gamma校正matlab
- 回馈整流MATLAB仿真
- matlab提取音频特征
- 数据预处理 剔除奇异点 matlab程序
- MATLAB+遗传算法+多车有容量约束VRP
评论
共有 条评论