zoukankan      html  css  js  c++  java
  • R语言利用ROCR评测模型的预测能力

    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(三)的内容学习。

     

  • 相关阅读:
    Access的相关SQL语句
    决心创业
    [转]在.NET环境中使用单元测试工具NUnit
    [转]IE"单击以激活控件"网站代码解决法
    [转]C#中ToString格式大全
    [转]div中放flash运行30秒钟后自动隐藏效果
    Property和attribute的区别
    C++中的虚函数(virtual function)
    进程间通信方式
    关于页面传值的方法
  • 原文地址:https://www.cnblogs.com/amengduo/p/9586617.html
Copyright © 2011-2022 走看看