新浪博客

R语言中绘制ROC曲线

2016-03-27 11:55阅读:
两种方法:
第一种,摘自别人的方法:
ROC曲线,做分类时经常会用到的一种结果表现方法。诸如此类的工作,首选工具当然是R。在CRAN上搜了一下,找到一个叫ROCR的包。尽管这个包已经很久没更新了,但用起来还是很爽的。先看一下我画的ROC曲线。
里面是三份预测结果的ROC曲线。
ROCR包中主要是两个class:prediction和performance。前者是将预测结果和真实标签组合在一起,生成一个 prediction对象,然后在用performance函数,按照给定的评价方法,生成一个performance对象,最后直接对 performance用plot函数就能绘制出相应的ROC曲线。
# plot a ROC curve for a single prediction run
# and color the curve according to cutoff.
data(ROCR.simple)
pred <- prediction(ROCR.simple$predictions, ROCR.simple$labels)
perf <- performance(pred,'tpr','fpr')
plot(perf,colorize=TRUE)
上面是ROCR中的一个例子,ROCR.simple$predictions是预测结果,ROCR.simple$labels是真实的标签,从而产生一个prediction对象;然后tpr是true positive rate的意思,fpr则是false positive rate的意思,这样最后画出来的就是最常见的ROC曲线

第二种方法,用的pROC包中的函数,可以绘制ROC曲线,求AUC的值
######使用
pROC包绘制ROC曲线#######
install.packages('pROC')
library(pROC)
data(aSAH)
roc1=roc(aSAH$outcome, aSAH$s100b,
levels=c('Good', 'Poor'))
plot(roc1)
auc1=auc(roc1)


http://www.inside-r.org/packages/cran/pROC 学习网址

我的更多文章

下载客户端阅读体验更佳

APP专享