博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
R语言利用ROCR评测模型的预测能力
阅读量:4604 次
发布时间:2019-06-09

本文共 1206 字,大约阅读时间需要 4 分钟。

说明

受试者工作特征曲线(ROC),这是一种常用的二元分类系统性能展示图形,在曲线上分别标注了不同切点的真正率与假正率。我们通常会基于ROC曲线计算处于曲线下方的面积AUC(area under curve),并以此峰面积来衡量相应分类模型的性能。

操作

继续使用telecom churn数据集作为样例数据集

library(caret)
data(churn)
str(churnTrain)
churnTrain = churnTrain[,!names(churnTrain) %in% c("state","area_code","account_length")]
#生成随机编号为2的随机数
set.seed(2)
#将churnTrain的数据集分为两类,按0.7与0.3的比例无放回抽样
ind = sample(2,nrow(churnTrain),replace = TRUE,prob = c(0.7,0.3))
trainset = churnTrain[ind == 1,]
testset = churnTrain[ind == 2,]
library(gplots)
ibrary(ROCR)
library(e1071)
使用probability参数为TRUE的训练数据集得到一个SVM模型:
svmfit = svm(churn ~ .,data = trainset,prob = TRUE)
基于训练好的模型对测试数据集进行预测,同样将probability参数设置为TRUE
Pred = predict(svmfit,testset[,!names(testset) %in% c("churn")],probability = TRUE )
得到标号为“yes”的概率
pred.prob = attr(pred,"probabilities")
pred.to.roc = pred.prob[,2]
使用prediction函数产生预测结果,
pred.rocr = prediction(pred,testset$churn)
使用preformance完成性能评估
pred.rocr.pref = performance(pred.rocr,"tpr","fpr")
pred.rocr.auc.perf = performance(pred.rocr,measure = "auc",x.measure = "cutoff")
plot(pred.rocr.pref,col = 2,colorize=T,main=paste("AUC:",pred.rocr.auc.perf@y.values))
总结
可以参考titanic(三)的内容学习。

 

转载于:https://www.cnblogs.com/amengduo/p/9586617.html

你可能感兴趣的文章
基于java spring框架开发部标1078视频监控平台精华文章索引
查看>>
人类简史
查看>>
java 设计模式学习
查看>>
【Python使用】使用pip安装卸载Python包(含离线安装Python包)未完成???
查看>>
一语道破项目管理知识体系五大过程组
查看>>
C# 备份、还原、拷贝远程文件夹
查看>>
在windows环境下运行compass文件出现的错误提示解决方案
查看>>
CSS常用样式--font
查看>>
恩如氏--蜗牛精华补水蚕丝面膜
查看>>
大工具-收藏
查看>>
codevs3027 线段覆盖 2
查看>>
markdown
查看>>
【leetcode】107-Binary Tree Level Order Traversal II
查看>>
Jquert data方法获取不到数据,显示为undefined。
查看>>
ssm项目中 数据库和资源的备份
查看>>
hdoj5671 BestCoder Round #81 (div.2)
查看>>
HDU5950【矩阵快速幂】
查看>>
在线C++编译器
查看>>
C#中各种serialization的比较
查看>>
P2617 Dynamic Rankings
查看>>