R语言利用ROCR评测模型的预测能力

说明

受试者工作特征曲线(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(三)的内容学习。

R语言利用ROCR评测模型的预测能力的更多相关文章

  1. R语言解读多元线性回归模型

    转载:http://blog.fens.me/r-multi-linear-regression/ 前言 本文接上一篇R语言解读一元线性回归模型.在许多生活和工作的实际问题中,影响因变量的因素可能不止 ...

  2. 基于R语言的时间序列指数模型

    时间序列: (或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列.时间序列分析的主要目的是根据已有的历史数据对未来进行预测.(百度百科) 主要考虑的因素: 1.长期趋势(Lon ...

  3. 【机器学习与R语言】12- 如何评估模型的性能?

    目录 1.评估分类方法的性能 1.1 混淆矩阵 1.2 其他评价指标 1)Kappa统计量 2)灵敏度与特异性 3)精确度与回溯精确度 4)F度量 1.3 性能权衡可视化(ROC曲线) 2.评估未来的 ...

  4. R语言解读一元线性回归模型

    转载自:http://blog.fens.me/r-linear-regression/ 前言 在我们的日常生活中,存在大量的具有相关性的事件,比如大气压和海拔高度,海拔越高大气压强越小:人的身高和体 ...

  5. 【机器学习与R语言】13- 如何提高模型的性能?

    目录 1.调整模型参数来提高性能 1.1 创建简单的调整模型 2.2 定制调整参数 2.使用元学习来提高性能 2.1 集成学习(元学习)概述 2.2 bagging 2.3 boosting 2.4 ...

  6. 如何在R语言中使用Logistic回归模型

    在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...

  7. 分类-回归树模型(CART)在R语言中的实现

    分类-回归树模型(CART)在R语言中的实现 CART模型 ,即Classification And Regression Trees.它和一般回归分析类似,是用来对变量进行解释和预测的工具,也是数据 ...

  8. R语言与分类算法的绩效评估(转)

    关于分类算法我们之前也讨论过了KNN.决策树.naivebayes.SVM.ANN.logistic回归.关于这么多的分类算法,我们自然需要考虑谁的表现更加的优秀. 既然要对分类算法进行评价,那么我们 ...

  9. 【转】R语言知识体系概览

    摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...

随机推荐

  1. mysql优化工具(索引优化)

    mysql优化工具 1.pt-duplicate-key-checker(检查数据库的重复索引),这款工具可以帮助我们找到重复的索引并且还会给你删除重复索引的建议语句,非常好用. 2.

  2. E-puck简单入门

    E-puck是瑞士的一款小型的机器人,可以用于教学和实验,其外形小巧,并且整个结构也比较简单,如果出现损坏也比较容易维护. 其外形如下: 因为国内的资料很少,资料主要还是通过官方文档了解,而官方的文档 ...

  3. Codeforces 1162D Chladni Figure(枚举因子)

    这个题好像可以直接暴力过.我是先用num[len]统计所有每个长度的数量有多少,假如在长度为len下,如果要考虑旋转后和原来图案保持一致,我们用a表示在一个旋转单位中有几个长度为len的线段,b表示有 ...

  4. [暑假集训Day4T1]羊圈

    ZYC同志开农场了????? 二分答案. 对于每一个二分出来的答案对其进行检查(check),检查是否有一个长度大于m的字段和的平均值大于mid.方法如下:先把原数组的每一个元素减去mid,储存进一个 ...

  5. 获取input输入值

  6. ES6——函数-箭头函数

    箭头函数: 1.普通函数 function 函数名(){...} 2.箭头函数 注意:  1)如果只有一个返回值,{}return可以省略: let arr = [12,5,8,99,33,14,26 ...

  7. vue项目build打包后图片路径不对导致图片空白不显示问题解决方法

    1.在上篇文章src配置及引入的基础上修改项目配置: 文章链接地址:https://www.cnblogs.com/hsl-shiliang/p/10333022.html. 2.具体配置过程如图: ...

  8. Java-java.lang.NoClassDefFoundError:brave.Span.Kind

    今天在升级某个框架时,遇到如标题描述的问题.这个问题应该说还是比较明显的,首先去搜了一下NoClassDefFoundError的问题,参考这篇博客:https://www.cnblogs.com/x ...

  9. Linux就该这么学10学习笔记

    参考链接:https://www.linuxprobe.com/chapter-10.html 网站服务程序 第1步:把光盘设备中的系统镜像挂载到/media/cdrom目录. [root@linux ...

  10. Notepad++安装Zen Codingt插件

    Zen Coding介绍 Zen Coding是一套面向文本编辑器的插件,它允许通过IDE工具的联想功能(内容辅助)高速度的编辑HTML.XML.XSL和其他结构化的代码格式. Zen Coding由 ...