首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中计算AUC?

在R中计算AUC?
EN

Stack Overflow用户
提问于 2011-02-05 05:24:27
回答 11查看 123.3K关注 0票数 52

给定一个分数向量和一个实际类别标签向量,如何在R语言或简单的英语中计算二元分类器的单数AUC度量?

"AUC: a Better Measure..."的第9页似乎要求知道类标签,这里是我不理解的an example in MATLAB

代码语言:javascript
复制
R(Actual == 1))

因为R(不要与R语言混淆)被定义为向量而被用作函数?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2011-02-06 04:31:26

正如其他人所提到的,您可以使用ROCR包来计算AUC。使用ROCR软件包,您还可以绘制ROC曲线、升力曲线和其他模型选择措施。

您可以在不使用任何软件包的情况下直接计算AUC,这是因为AUC等于真阳性得分大于真负得分的概率。

例如,如果pos.scores是包含正例分数的向量,而neg.scores是包含负例的向量,则AUC近似为:

代码语言:javascript
复制
> mean(sample(pos.scores,1000,replace=T) > sample(neg.scores,1000,replace=T))
[1] 0.7261

将给出AUC的近似值。您还可以通过bootstrapping来估计AUC的方差:

代码语言:javascript
复制
> aucs = replicate(1000,mean(sample(pos.scores,1000,replace=T) > sample(neg.scores,1000,replace=T)))
票数 34
EN

Stack Overflow用户

发布于 2011-02-05 05:45:17

The ROCR package将计算AUC值和其他统计数据:

代码语言:javascript
复制
auc.tmp <- performance(pred,"auc"); auc <- as.numeric(auc.tmp@y.values)
票数 41
EN

Stack Overflow用户

发布于 2011-02-05 05:51:01

通过pROC包,您可以使用auc()函数,如帮助页中的示例所示:

代码语言:javascript
复制
> data(aSAH)
> 
> # Syntax (response, predictor):
> auc(aSAH$outcome, aSAH$s100b)
Area under the curve: 0.7314
票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4903092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档