给定一个分数向量和一个实际类别标签向量,如何在R语言或简单的英语中计算二元分类器的单数AUC度量?
"AUC: a Better Measure..."的第9页似乎要求知道类标签,这里是我不理解的an example in MATLAB
R(Actual == 1))因为R(不要与R语言混淆)被定义为向量而被用作函数?
发布于 2011-02-06 04:31:26
正如其他人所提到的,您可以使用ROCR包来计算AUC。使用ROCR软件包,您还可以绘制ROC曲线、升力曲线和其他模型选择措施。
您可以在不使用任何软件包的情况下直接计算AUC,这是因为AUC等于真阳性得分大于真负得分的概率。
例如,如果pos.scores是包含正例分数的向量,而neg.scores是包含负例的向量,则AUC近似为:
> mean(sample(pos.scores,1000,replace=T) > sample(neg.scores,1000,replace=T))
[1] 0.7261将给出AUC的近似值。您还可以通过bootstrapping来估计AUC的方差:
> aucs = replicate(1000,mean(sample(pos.scores,1000,replace=T) > sample(neg.scores,1000,replace=T)))发布于 2011-02-05 05:45:17
The ROCR package将计算AUC值和其他统计数据:
auc.tmp <- performance(pred,"auc"); auc <- as.numeric(auc.tmp@y.values)发布于 2011-02-05 05:51:01
通过pROC包,您可以使用auc()函数,如帮助页中的示例所示:
> data(aSAH)
>
> # Syntax (response, predictor):
> auc(aSAH$outcome, aSAH$s100b)
Area under the curve: 0.7314https://stackoverflow.com/questions/4903092
复制相似问题