首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AUC意外值

AUC意外值
EN

Stack Overflow用户
提问于 2017-03-22 19:52:13
回答 1查看 171关注 0票数 0

在对一组分子进行logistic回归模型后,我有以下预测,我们假设这是肿瘤和正常人的预测。

代码语言:javascript
复制
                  Predicted   class     
                      T        N          
                 T   29        5
  Actual class
                 N   993      912           

我有一个分数列表,从预测<0 (负数)到预测>0 (正数)。然后,我的data.frame中有另一列,它表示从模型中预测的标签(1==、肿瘤和0==normals)。我试图以以下方式使用library(ROC)计算ROC:

代码语言:javascript
复制
 pred = prediction(prediction, labels)     
 roc = performance(pred, "tpr", "fpr")   
 plot(roc, lwd=2, colorize=TRUE)   

使用:

代码语言:javascript
复制
       roc_full_data <- roc(labels, prediction)
       rounded_scores <- round(prediction, digits=1)
       roc_rounded <- roc(labels, prediction)

呼叫:

代码语言:javascript
复制
       roc.default(response = labels, predictor = prediction)
       Data: prediction in 917 controls (category 0) < 1022 cases (category1).
       Area under the curve: 1

AUC等于1,我不确定我是否所有的运行都是正确的,或者我可能在解释我的结果时做错了什么,因为AUC等于1是非常罕见的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-23 07:08:21

您的x.measure中有一个错误,应该抛出一个错误。你有"for“而不是"fpr”。试试下面的代码。

代码语言:javascript
复制
performance(pred, measure = "tpr", x.measure = "fpr")
plot(perf)

# add a reference line to the graph
abline(a = 0, b = 1, lwd = 2, lty = 2)

# calculate AUC
perf.auc <- performance(pred, measure = "auc")
str(perf.auc)
as.numeric(perf.auc@y.values)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42961395

复制
相关文章

相似问题

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