熱線電話:13121318867

登錄
首頁精彩閱讀R語言利用ROCR評測模型的預測能力
R語言利用ROCR評測模型的預測能力
2018-01-19
收藏

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(三)的內容學習。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢