【发布时间】:2016-02-23 11:00:18
【问题描述】:
我正在尝试使用 Matlab 从头开始构建 ROC 曲线。当我运行文件时 auc 是
auc_area =
-2.8129e-006
我认为它错过了切断步骤,但我无法理解。有什么功能可以执行吗? 这是我的代码:
num_pos = sum(all_labels);
tp = cumsum(l==1,1);
fp = repmat((1:n)',[1 m])-tp;
num_neg = n-num_pos;
fpr = bsxfun(@rdivide,fp,num_neg); %False Positive Rate
tpr = bsxfun(@rdivide,tp,num_pos); %True Positive Rate
%Plot the ROC curve
plot(fpr,tpr);
xlabel('False Positive');
ylabel('True Positive');
auc_area = sum(tpr.*[(diff(fp)==1); zeros(1,m)])./num_neg;
【问题讨论】:
-
你能发一个complete example 包括少量的样本数据吗?您遗漏了一些部分,但如果没有工作示例,很难指出它们。主要是我想知道
l中的内容。
标签: matlab machine-learning roc