ROC曲线是根据在二分类时,设定不同的分类阈值得到的真阳性率(TPR)和伪阳性率(FPR)得到的。
如图括号格式为(预测的标签,实际的标签)。
(sensitivity) TPR=TP/(TP+FN)= (1,1)/((1,1)+(0,1))
(1-specificity) FPR=FP/(FP+FN)= (1,0)/((1,0)+(0,0))
F1 = 2TP/(2TP+FP+FN)
ROC曲线的Matlab绘制以及AUC面积计算如下:
AUC面积为梯形面积之和。
% 2018/4/27 Matlab
%scores为每个样本属于1类的概率,testclass分为0类和1类
%输出res为AUC面积,计算方式为矩形面积之和,sum1为ROC曲线的tpr和fpr值对
function [res,sum1] = AUCROC(testclass,scores)
[m,n] = size(testclass);
tpr = zeros(51,1);
fpr = zeros(51,1);
num = 0;
AUC = 0;
for x = 0:0.02:1
num=num+1;
tp = 0;
fn = 0;
fp = 0;
tn = 0;
for y = 1:m