使用R进行分类时,ROC的绘制和AUC的计算

在之前的这篇日志中,我简单介绍了使用R进行Logistic Regression时,Recall,Precision,TPR,FPR等等的计算,但是如果依照这种方法绘制ROC曲线(关于ROC和AUC的概念,网上有很多介绍,例如:http://beader.me/2013/12/15/auc-roc/ )就太过于麻烦了,需要手动调整分类阈值。其实R也提供了最基本的ROC曲线绘制的工具包(Package),结合这篇日志,我也同时介绍一下R Package的安装和学习方法:

在这里:http://www.r-project.org/ 页面左侧点击:

Download, Packages
CRAN

可以看到首先需要选择CRAN的镜像站点,例如我们选择北京交大的:http://mirror.bjtu.edu.cn/cran/ 通过几个链接,可以浏览这个页面:http://mirror.bjtu.edu.cn/cran/web/packages/available_packages_by_name.html,按Package的名称给出了列表,同时还有对Package的简单介绍。我们可以看到这里有关于pROC的介绍:

pROC display and analyze ROC curves

可以下载压缩包的形式进行安装,但是往往这样安装会很麻烦,所以建议通过R的控制台进行安装(可以在上面这个页面中首先查看Package的名称和作用):

在RGui中选择“程序包”——“安装程序包”——选择需要安装的Package(如果需要安装其他依赖Package,也会自动安装),如果选择了合适的镜像(从我这里来看,选择兰州大学的镜像,安装速度很快),则很快就可以安装好。最后给出StackOverflow上别人给的例子,安装好这个Package之后即可以运行。

mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
mylogit <- glm(admit ~ gre, data = mydata, family = "binomial")
summary(mylogit)
prob=predict(mylogit,type=c("response"))
mydata$prob=prob
library(pROC)
g <- roc(admit ~ prob, data = mydata)
plot(g)

关于这个Package的其他使用方法,API文档,可以参考这里: http://www.inside-r.org/packages/cran/pROC/docs/auc 。就总结这么多,相信对初学的朋友会有所帮助。

你可能感兴趣的:(使用R进行分类时,ROC的绘制和AUC的计算)