ROC曲线的绘制
更新时间:2023-10-08 02:32:01 阅读量: 综合文库 文档下载
R语言-绘制ROC曲线
2016-04-14 21:28 1760人阅读评论(0) 收藏举报
浅谈ROC曲线
机器学习中很常见的一个大类就是二元分类器。很多二元分类器会产生一个概率预测值,而非仅仅是0-1预测值。我们可以使用某个临界点(例如0.5),以划分哪些预测为1,哪些预测为0。得到二元预测值后,可以构建一个混淆矩阵来评价二元分类器的预测效果。所有的训练数据都会落入这个矩阵中,而对角线上的数字代表了预测正确的数目,即True Positive+True Nagetive。同时可以相应算出TPR(真正率或称为灵敏度)和TNR(真负率或称为特异度)。我们主观上希望这两个指标越大越好,但可惜二者是一个此消彼涨的关系。除了分类器的训练参数,临界点的选择,也会大大的影响TPR和TNR。有时可以根据具体问题和需要,来选择具体的临界点。
如果我们选择一系列的临界点,就会得到一系列的TPR和TNR,将这些值对应的点连接起来,就构成了ROC曲线。ROC曲线可以帮助我们清楚的了解到这个分类器的性能表现,还能方便比较不同分类器的性能。在绘制ROC曲线的时候,习惯上是使用1-TNR作为横坐标,TPR作为纵坐标。下面来看看如何在R语言中绘制ROC曲线。
# 做一个logistic回归,生成概率预测值
model1 <- glm(y~.,data=newdata,family='binomial') pre <- predict(model1,type='response')
# 将预测概率prob和实际结果y放在一个数据框中 data<- data.frame(prob=pre,obs=newdata$y) # 按预测概率从低到高排序
data<- data[order(data$prob),] n <- nrow(data)
tpr<- fpr <- rep(0,n)
# 根据不同的临界值threshold来计算TPR和FPR,之后绘制成图 for(i in1:n){
threshold <- data$prob[i]
tp <- sum(data$prob > threshold &data$obs == 1) fp <- sum(data$prob > threshold &data$obs == 0) tn <- sum(data$prob < threshold &data$obs == 0) fn <- sum(data$prob < threshold &data$obs == 1) tpr[i]<- tp/(tp+fn)# 真正率 fpr[i]<- fp/(tn+fp)# 假正率 }
plot(fpr,tpr,type='l') abline(a=0,b=1)
R中也有专门用来绘制ROC曲线的包,例如常见的ROCR包,它不仅可以用来画图,还能计算ROC曲线下面积AUC,以评价分类器的综合性能,该数值取0-1之间,越大越好。
library(ROCR)
pred <- prediction(pre,newdata$y)
performance(pred,'auc')@y.values #AUC值 perf <- performance(pred,'tpr','fpr') plot(perf)
ROCR包画图函数功能比较单一,笔者比较偏好使用功能更强大的pROC包。它可以方便比较两个分类器,还能自动标注出最优的临界点,图看起来也比较漂亮。
library(pROC)
modelroc <- roc(newdata$y,pre)
plot(modelroc, print.auc=TRUE, auc.polygon=TRUE,grid=c(0.1,0.2), grid.col=c(\,\), max.auc.polygon=TRUE, auc.polygon.col=\, print.thres=TRUE)
顶
正在阅读:
ROC曲线的绘制10-08
2010年土建工程师个人工作总结06-07
企业行政管理知识培训试题及答案300道04-18
进修校开展送培下乡活动的实施方案05-22
2014年1月20工会评选困难职工及优秀职工家属会议纪要(1.20)03-09
2011年六一节目主持舞蹈串词08-16
2010迎春杯六年级数学竞赛试题及详解11-27
脱模机构的设计与加工教案04-21
仓储管理人员必会的仓储量化指标计算公式04-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 绘制
- 曲线
- ROC
- 2014高考地理一轮复习课时作业-3-4-1第一讲 区域农业
- 中国药学会2019年学术会议计划 - 图文
- UML课后习题答案要点 - 图文
- 2019最新中考物理一轮复习机械运动课后作业word版
- 是非判断题
- 2018年基本公共卫生服务绩效考核方案
- 16春川大《计算机应用基础》1-2作业95分
- 关于放淤固堤施工现场安全管理的探讨与实践
- 2018-2019-淘宝网开店项目可行性报告-范文模板(7页)
- 剪纸的有关信息
- 2009年度山东省工程建设(勘察设计)优秀QC小组获奖名单资料 - 图文
- 监控系统售后服务承诺书
- 证券交易新空间一书中的精华包含所有源码
- 日本预审制度介评
- 普通昆虫学复习资料1
- 普通昆虫学 期末复习资料分析 - 图文
- 哲学思维导图1-5
- 高等几何 射影几何 练习题分析与答案
- 高二地理备课组工作计划和总结
- 最新苏教版六年级语文上册第一单元测试题及答案