最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

R語(yǔ)言利用caret包比較ROC曲線的操作

 更新時(shí)間:2021年04月06日 10:38:00   作者:Jack_丁明  
這篇文章主要介紹了R語(yǔ)言利用caret包比較ROC曲線的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

說(shuō)明

我們之前探討了多種算法,每種算法都有優(yōu)缺點(diǎn),因而當(dāng)我們針對(duì)具體問(wèn)題去判斷選擇那種算法時(shí),必須對(duì)不同的預(yù)測(cè)模型進(jìn)行重做評(píng)估。

為了簡(jiǎn)化這個(gè)過(guò)程,我們使用caret包來(lái)生成并比較不同的模型與性能。

操作

加載對(duì)應(yīng)的包與將訓(xùn)練控制算法設(shè)置為10折交叉驗(yàn)證,重復(fù)次數(shù)為3:

library(ROCR)
library(e1071)
library("pROC")
library(caret)
library("pROC")
control = trainControl(method = "repaetedcv",
   number = 10,
   repeats =3,
   classProbs = TRUE,
   summaryFunction = twoClassSummary)

使用glm在訓(xùn)練數(shù)據(jù)集上訓(xùn)練一個(gè)分類器

glm.model = train(churn ~ .,
   data= trainset,
   method = "glm",
   metric = "ROC",
   trControl = control)

使用svm在訓(xùn)練數(shù)據(jù)集上訓(xùn)練一個(gè)分類器

svm.model = train(churn ~ .,
   data= trainset,
   method = "svmRadial",
   metric = "ROC",
   trControl = control)

使用rpart函數(shù)查看rpart在訓(xùn)練數(shù)據(jù)集上的運(yùn)行情況

rpart.model = train(churn ~ .,
   data = trainset,
   method = "svmRadial",
   metric = "ROC",
   trControl = control)

使用不同的已經(jīng)訓(xùn)練好的數(shù)據(jù)分類預(yù)測(cè):

glm.probs = predict(glm.model,testset[,!names(testset) %in% c("churn")],type = "prob")
svm.probs = predict(svm.model,testset[,!names(testset) %in% c("churn")],type = "prob")
rpart.probs = predict(rpart.model,testset[,!names(testset) %in% c("churn")],type = "prob")

生成每個(gè)模型的ROC曲線,將它們繪制在一個(gè)圖中:

glm.ROC = roc(response = testset[,c("churn")],
  predictor = glm.probs$yes,
  levels = levels(testset[,c("churn")]))
plot(glm.ROC,type = "S",col = "red")
svm.ROC = roc(response = testset[,c("churn")],
  predictor = svm.probs$yes,
  levels = levels(testset[,c("churn")]))
plot(svm.ROC,add = TRUE,col = "green")
rpart.ROC = roc(response = testset[,c("churn")],
  predictor = rpart.probs$yes,
  levels = levels(testset[,c("churn")]))
plot(rpart.ROC,add = TRUE,col = "blue")

三種分類器的ROC曲線

說(shuō)明

將不同的分類模型的ROC曲線繪制在同一個(gè)圖中進(jìn)行比較,設(shè)置訓(xùn)練過(guò)程的控制參數(shù)為重復(fù)三次的10折交叉驗(yàn)證,模型性能的評(píng)估參數(shù)為twoClassSummary,然后在使用glm,svm,rpart,三種不同的方法建立分類模型。

從圖中可以看出,svm對(duì)訓(xùn)練集的預(yù)測(cè)結(jié)果(未調(diào)優(yōu))是三種分類算法里最好的。

補(bǔ)充:R語(yǔ)言利用caret包比較模型性能差異

說(shuō)明

我們可以通過(guò)重采樣的方法得對(duì)每一個(gè)匹配模型的統(tǒng)計(jì)信息,包括ROC曲線,靈敏度與特異度,然后基于這些統(tǒng)計(jì)信息來(lái)比較不同模型的性能差異。

操作

利用上節(jié)的信息,準(zhǔn)備好glm分類模型,svm分類模型,rpart分類模型,并存放在glm.model,svm.model,rpart.model。

cv.values = resamples(list(glm = glm.model,svm =svm.model,rpart = rpart.model))
> summary(cv.values)
Call:
summary.resamples(object = cv.values)
Models: glm, svm, rpart 
Number of resamples: 30 
ROC 
  Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
glm 0.7597790 0.7927740 0.8040455 0.8106454 0.8347961 0.8760824 0
svm 0.8191998 0.8786439 0.8945208 0.8947360 0.9196775 0.9562556 0
rpart 0.6064540 0.7150320 0.7608241 0.7556544 0.8086731 0.8554750 0
Sens 
  Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
glm 0.08823529 0.1764706 0.2058824 0.2124930 0.2516807 0.3235294 0
svm 0.44117647 0.5294118 0.5882353 0.5956863 0.6470588 0.7941176 0
rpart 0.20000000 0.4117647 0.4705882 0.4787955 0.5514706 0.7352941 0
Spec 
  Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
glm 0.9393939 0.9645119 0.9721581 0.9702721 0.9796954 0.9898477 0
svm 0.9494949 0.9695431 0.9771574 0.9755004 0.9847716 0.9898990 0
rpart 0.9492386 0.9746193 0.9796954 0.9780359 0.9848485 1.0000000 0

使用dotplot函數(shù)繪制重采樣在ROC曲線度量中的結(jié)果:

dotplot(cv.values,metric = "ROC")

使用箱線圖繪制重采樣結(jié)果:

bwplot(cv.values,layout=c(3,1))

重采樣結(jié)果箱線圖

說(shuō)明

我們使用resample函數(shù)生成各個(gè)模型的統(tǒng)計(jì)信息,再調(diào)用summary函數(shù)輸出三個(gè)模型在ROC、靈敏度及特異性上的統(tǒng)計(jì)信息。

使用dotplot方法處理重采樣結(jié)果來(lái)觀測(cè)不同模型ROC差異,最后,采用箱線圖在同一張圖上對(duì)ROC、靈敏度及特異方面的差別進(jìn)行比較。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • R語(yǔ)言繪制尺子的實(shí)現(xiàn)示例

    R語(yǔ)言繪制尺子的實(shí)現(xiàn)示例

    本文使用基本的繪圖命令plot、rect、segments、text繪制一把長(zhǎng)10厘米的直尺,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java調(diào)用R語(yǔ)言實(shí)例講解

    Java調(diào)用R語(yǔ)言實(shí)例講解

    這篇文章主要介紹了Java調(diào)用R語(yǔ)言實(shí)例講解,文中代碼講解的很清晰,有需要的同學(xué)可以研究下
    2021-03-03
  • R語(yǔ)言數(shù)據(jù)可視化繪圖Dot plot點(diǎn)圖畫法示例

    R語(yǔ)言數(shù)據(jù)可視化繪圖Dot plot點(diǎn)圖畫法示例

    這篇文章主要為大家介紹了R語(yǔ)言數(shù)據(jù)可視化繪圖Dot plot點(diǎn)圖的畫法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • 淺析R語(yǔ)言中map(映射)與reduce(規(guī)約)

    淺析R語(yǔ)言中map(映射)與reduce(規(guī)約)

    大家在R語(yǔ)言數(shù)據(jù)處理中非常常見(jiàn)map(映射)與reduce(規(guī)約)操作,map表示映射,可以在一個(gè)或多個(gè)列表/向量的每個(gè)位置上應(yīng)用相同函數(shù)進(jìn)行計(jì)算而reduce函數(shù)表示規(guī)約,計(jì)算向量中相鄰的兩個(gè)元素,本文給大家介紹R語(yǔ)言map與reduce的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2021-05-05
  • R語(yǔ)言繪制雙坐標(biāo)圖的案例詳解

    R語(yǔ)言繪制雙坐標(biāo)圖的案例詳解

    這篇文章主要介紹了R語(yǔ)言繪制雙坐標(biāo)圖,下面就跟大家介紹plotrix包中的twoord.plot()函數(shù)和twoord.stackplot()函數(shù),它們可以實(shí)現(xiàn)雙坐標(biāo)軸圖形的繪制,需要的朋友可以參考下
    2023-01-01
  • R語(yǔ)言操作文件方法詳解教程

    R語(yǔ)言操作文件方法詳解教程

    這篇文章主要為大家介紹了R語(yǔ)言如何操作文件的方法詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-11-11
  • 解決R語(yǔ)言安裝時(shí)出現(xiàn)輯程包不存在的問(wèn)題

    解決R語(yǔ)言安裝時(shí)出現(xiàn)輯程包不存在的問(wèn)題

    這篇文章主要介紹了解決R語(yǔ)言安裝時(shí)出現(xiàn)輯程包不存在的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • R語(yǔ)言安裝VSCODE和環(huán)境配置

    R語(yǔ)言安裝VSCODE和環(huán)境配置

    VSCode是一個(gè)跨平臺(tái)的代碼編輯器,支持多種編程語(yǔ)言和運(yùn)行時(shí)環(huán)境,在VSCode中配置R語(yǔ)言環(huán)境,需要安裝R插件和RDebugger插件,并配置R語(yǔ)言虛擬環(huán)境,配置過(guò)程中需要設(shè)置R執(zhí)行路徑、啟動(dòng)時(shí)的命令行參數(shù)和SessionWatcher等選項(xiàng),安裝Languageserver插件可以實(shí)現(xiàn)自動(dòng)補(bǔ)齊
    2024-11-11
  • R語(yǔ)言邏輯型運(yùn)算的實(shí)現(xiàn)

    R語(yǔ)言邏輯型運(yùn)算的實(shí)現(xiàn)

    本文主要介紹了R語(yǔ)言邏輯型運(yùn)算,邏輯型是 R 的基本數(shù)據(jù)類型之一,只有兩個(gè)值 TRUE 和 FALSE, 缺失時(shí)為 NA,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-03-03
  • R語(yǔ)言學(xué)習(xí)之線圖的繪制詳解

    R語(yǔ)言學(xué)習(xí)之線圖的繪制詳解

    線圖是反映趨勢(shì)變化的一種方式,其輸入數(shù)據(jù)一般也是一個(gè)矩陣。本文將利用R語(yǔ)言繪制單線圖、多線圖以及橫軸文本線圖,感興趣的可以了解一下
    2022-03-03

最新評(píng)論

临猗县| 盐山县| 商河县| 利川市| 杭锦后旗| 出国| 利津县| 勐海县| 灵石县| 通州市| 江永县| 清河县| 开鲁县| 苏尼特右旗| 颍上县| 长沙市| 万宁市| 张家界市| 台东市| 连云港市| 东明县| 长武县| 扶绥县| 海原县| 廊坊市| 前郭尔| 北票市| 调兵山市| 涿鹿县| 岗巴县| 金川县| 绩溪县| 河曲县| 措美县| 峡江县| 安平县| 正安县| 潜江市| 衡东县| 大丰市| 锦屏县|