根据决策值和真实标签画ROC曲线,同时计算AUC的值
步骤:
根据决策值和真实标签画ROC曲线,同时计算AUC的值:
计算算法的决策函数值deci
根据决策函数值deci对真实标签y进行降序排序,得到新的排序$roc_y$
根据$roc_y$分别对正负类样本进行累积分布$stack_x$,$stack_y$
根据$stack_x$,$stack_y$计算RUC的值
[AUC = sum_{i=2}^{n}(stack_x(i)-stack_x(i-1))*stack_y(i) ]
分别以$stack_x$,$stack_y$作为横坐标和纵坐标,画出RUC图
function auc = roc_curve(deci,label_y) %%deci=wx+b, label_y, true label
[val,ind] = sort(deci,'descend');
roc_y = label_y(ind);
stack_x = cumsum(roc_y == -1)/sum(roc_y == -1);
stack_y = cumsum(roc_y == 1)/sum(roc_y == 1);
auc = sum((stack_x(2:length(roc_y),1)-sta