R语言|求ROC和AUC值

测试

junjun

2016年9月29日

1、求ROC和AUC值

#方法一:ROCR包中主要是两个class:prediction和performance。前者是将预测结果和真实标签组合在一起,生成一个prediction对象,然后在用performance函数,按照给定的评价方法,生成一个performance对象,最后直接对performance用plot函数就能绘制出相应的ROC曲线。
#加载数据
library(ROCR)

## Loading required package: gplots

##
## Attaching package: 'gplots'

## The following object is masked from'package:stats':
##
##     lowess

data("ROCR.simple")
str(ROCR.simple)

## List of 2
##  $ predictions: num [1:200] 0.6130.364 0.432 0.14 0.385 ...
##  $ labels     : num [1:200] 1 1 0 0 0 1 1 1 1 0 ...

pred<-prediction(ROCR.simple$predictions,ROCR.simple$labels)
perf<-performance(pred,"tpr","fpr")
plot(perf,colorize=T)


 

 

 

#方法二:用的pROC包中的函数,可以绘制ROC曲线,求AUC的值
library(pROC)

## Type 'citation("pROC")' for a citation.

##
## Attaching package: 'pROC'

## The following objects are masked from'package:stats':
##
##     cov, smooth, var

data("aSAH")
roc1<-roc(aSAH$outcome,aSAH$s100b,levels=c("Good","Poor"))
plot(roc1,print.auc=T, auc.polygon=T, grid=c(0.1, 0.2), grid.col=c("green","red"), max.auc.polygon=T, auc.polygon.col="skyblue",print.thres=T)


##
## Call:
## roc.default(response = aSAH$outcome, predictor = aSAH$s100b,     levels = c("Good","Poor"))
##
## Data: aSAH$s100b in 72 controls (aSAH$outcome Good) < 41 cases(aSAH$outcome Poor).
## Area under the curve: 0.7314

(auc1 = auc(roc1))
Area under the curve: 0.7314

  • 4
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值