网站首页 > 博客文章 正文
如果大家看到过做预测模型的文章,肯定对ROC不陌生:
A receiver operating characteristic curve, or ROC curve, is a graphical plot that illustrates the diagnostic ability of a binary classifier system as its discrimination threshold is varied.
简单说,ROC 曲线(接收者操作特征曲线)就是一种显示二分类模型在所有分类阈值下的效果的图形画表示。
今天就给大家写一个用R语言做ROC的完整实例,大家先点赞,再往下看哈。嘿嘿。
数据说明
今天的文章还是接着昨天的文章写,R数据分析:如何做逻辑斯蒂回归,使用的数据都在前面这篇文章中有介绍。
在上面的文章中,我不是建立了两个模型嘛,一个叫做gpamodel,一个叫做full model:
gpaModel <- glm(admit ~ gpa, data = myData, family = "binomial")
fullModel <- glm(admit ~ gpa + gre + rank, data = myData, family = "binomial")
两者的区别就是纳入的自变量不一样,那么今天我要做的就是用ROC来评价一下这两个模型哪一个更好。
具体操作
install.packages("ROCR")
library(ROCR)
probFull <- predict(fullModel, myData, type = "response")
predictFull <- prediction(probFull, myData$admit)
perfFull <- performance(predictFull, measure = "tpr", x.measure = "fpr")
上面的代码首先是安装和加载包,然后是使用predict方法得到全模型对原始数据的预测概率probFull,然后用prediction方法将预测概率转化为标准化:
Every classifier evaluation using ROCR starts with creating a prediction object. This function is used to transform the input data (which can be in vector, matrix, data frame, or list form) into a standardized format.
这个标准化的转化是一个必须的步骤,然后我们就可以用performance方法来评估模型的预测能力了,在这个方法中我们规定了两个测量,分别是tpr和fpr,即真阳性率和假阳性率,就是我们画ROC曲线的两个必要指标。
好了,
有了这些我们就可以出图了:
plot(perfFull, col = "blue")
同样的方法,我们画出gpaModel的ROC曲线:
probGpa <- predict(gpaModel, myData, type = "response")
predictGpa <- prediction(probGpa, myData$admit)
perfGpa <- performance(predictGpa, measure = "tpr", x.measure = "fpr")
plot(perfGpa, add = TRUE)
完美!
现在,我们其实能够看出来,第二支曲线的AUC要小,当然我们也可以输出我们的AUC看一看的:
aucFull <- performance(predictFull, measure = "auc")
aucGpa <- performance(predictGpa, measure = "auc")
aucFull@y.values
aucGpa@y.values
看到没,确实我们的全模型的AUC比只有gpa的模型的AUC要大,这个就说明全模型的预测表现更好。
小结
今天给大家写了一个R语言做ROC曲线和曲线下面积的实例,感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python和R的,加油。
(站外链接发不了,请关注后私信回复“数据链接”获取本头条号所有使用数据)
往期内容:
猜你喜欢
- 2024-10-29 模型评估(一)(你应该知道的模型评估的五个方法)
- 2024-10-29 精度是远远不够的:如何最好地评估一个分类器?
- 2024-10-29 Python机器学习理论与实战 第二章 Logistic回归模型(下)
- 2024-10-29 模型评估与模型监控——AUC 计算示例
- 2024-10-29 为机器学习模型选择正确的度量评估(第二部分)
- 2024-10-29 从另外一个角度解释AUC(从另一个角度去看问题)
- 2024-10-29 机器学习算法评估方法+Spring学习笔记
- 2024-10-29 你真的了解模型评估与选择嘛(模型评价的术语)
- 2024-10-29 机器学习中的评价指标(机器学习模型的评价指标有哪些)
- 2024-10-29 python机器学习:分类问题学习模型的评价方法及代码实现
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)