RFE筛选出的特征变量竟然是Boruta的4倍之多
機器學習第21篇 - 特征遞歸消除RFE算法 理論
RFE算法實戰
rfe函數有 4 個關鍵參數:
x: 訓練集數值矩陣 (不包含響應值或分類信息)
y: 響應值或分類信息向量
sizes: 一個整數向量,設定需要評估的變量子集的大小。
默認是2^(2:4)。
rfeControl: 模型評估所用的方法、性能指標和排序方式等。
一些模型有預定義的函數集可供使用,如linear regression (lmFuncs), random forests (rfFuncs), naive Bayes (nbFuncs), bagged trees (treebagFuncs)和其它可用于train函數的函數集。
# 因運行時間長,故存儲起運行結果供后續測試 library(caret) if(file.exists('rda/rfe_rffuncs.rda')){rfe <- readRDS("rda/rfe_rffuncs.rda") } else {subsets <- generateTestVariableSet(ncol(train_data))# rfFuncscontrol <- rfeControl(functions=rfFuncs, method="repeatedcv", number=10, repeats=5)rfe <- rfe(x=train_data, y=train_data_group, size=subsets, rfeControl=control)saveRDS(rfe, "rda/rfe_rffuncs.rda") }print(rfe, top=10)## ## Recursive feature selection ## ## Outer resampling method: Cross-Validated (10 fold, repeated 5 times) ## ## Resampling performance over subset size: ## ## Variables Accuracy Kappa AccuracySD KappaSD Selected ## 1 0.7152 0.2585 0.1740 0.3743 ## 2 0.7990 0.4464 0.1595 0.4398 ## 3 0.8341 0.5143 0.1342 0.4096 ## 4 0.8387 0.5266 0.1362 0.4231 ## 5 0.8678 0.6253 0.1359 0.4080 ## 6 0.8937 0.6790 0.1285 0.4095 ## 7 0.8906 0.6796 0.1320 0.4031 ## 8 0.8995 0.6939 0.1175 0.3904 ## 9 0.8803 0.6343 0.1309 0.4234 ## 10 0.9017 0.7036 0.1186 0.3847 ## 16 0.9250 0.7781 0.1066 0.3398 ## 25 0.9223 0.7663 0.1151 0.3632 ## 27 0.9318 0.7927 0.1094 0.3483 ## 36 0.9356 0.7961 0.1123 0.3657 ## 49 0.9323 0.7895 0.1128 0.3649 ## 64 0.9356 0.8076 0.1123 0.3488 ## 81 0.9385 0.8193 0.1083 0.3305 ## 100 0.9356 0.8076 0.1123 0.3488 ## 125 0.9356 0.8095 0.1123 0.3478 ## 216 0.9394 0.8129 0.1149 0.3650 * ## 256 0.9361 0.8044 0.1155 0.3656 ## 343 0.9219 0.7516 0.1247 0.4062 ## 512 0.9288 0.7799 0.1239 0.3933 ## 625 0.9266 0.7790 0.1165 0.3658 ## 729 0.9252 0.7567 0.1278 0.4211 ## 1000 0.9259 0.7681 0.1272 0.4077 ## 1296 0.9181 0.7313 0.1250 0.4183 ## 2401 0.8787 0.5666 0.1285 0.4639 ## 4096 0.8787 0.5701 0.1252 0.4525 ## 6561 0.8521 0.4619 0.1221 0.4510 ## 7070 0.8623 0.4987 0.1268 0.4635 ## ## The top 10 variables (out of 216): ## HG4074.HT4344_at, D55716_at, U63743_at, M63835_at, L42324_at, X02152_at, D31887_at, D82348_at, X17620_at, U56102_at繪制下模型的準確性隨選擇的重要性變量的數目的變化
plot(rfe, type=c("g", "o"))可以使用predictors函數提取最終選定的最小關鍵特征變量集,也可以直接從rfe對象中提取。
predictors(rfe)## [1] "HG4074.HT4344_at" "D55716_at" "U63743_at" ## [4] "M63835_at" "L42324_at" "X02152_at" .. ## [211] "U30872_at" "Y09392_s_at" "U21090_at" ## [214] "U17032_at" "D00763_at" "HG3075.HT3236_s_at"存儲起來用于跟Boruta鑒定出的特征變量比較
caretRfe_variables <- data.frame(Item=rfe$optVariables, Type="Caret_RFE")比較Boruta與RFE篩選出的特征變量的異同
Boruta篩選出的特征變量Confirmed都在RFE篩選的特征變量中,Tentative的只有1個未被RFE篩選的特征變量覆蓋。
vairables <- rbind(boruta.finalVars, boruta.finalVarsWithTentative, caretRfe_variables) library(VennDiagram) library(ImageGP) sp_vennDiagram2(vairables, item_variable = "Item", set_variable = "Type", manual_color_vector ="Set1")這些特征變量最終用于評估模型的效果怎樣呢??下期分曉!
機器學習系列教程
從隨機森林開始,一步步理解決策樹、隨機森林、ROC/AUC、數據集、交叉驗證的概念和實踐。
文字能說清的用文字、圖片能展示的用、描述不清的用公式、公式還不清楚的寫個簡單代碼,一步步理清各個環節和概念。
再到成熟代碼應用、模型調參、模型比較、模型評估,學習整個機器學習需要用到的知識和技能。
機器學習算法 - 隨機森林之決策樹初探(1)
機器學習算法-隨機森林之決策樹R 代碼從頭暴力實現(2)
機器學習算法-隨機森林之決策樹R 代碼從頭暴力實現(3)
機器學習算法-隨機森林之理論概述
隨機森林拖了這么久,終于到實戰了。先分享很多套用于機器學習的多種癌癥表達數據集 https://file.biolab.si/biolab/supp/bi-cancer/projections/。
機器學習算法-隨機森林初探(1)
機器學習 模型評估指標 - ROC曲線和AUC值
機器學習 - 訓練集、驗證集、測試集
機器學習 - 隨機森林手動10 折交叉驗證
一個函數統一238個機器學習R包,這也太贊了吧
基于Caret和RandomForest包進行隨機森林分析的一般步驟 (1)
Caret模型訓練和調參更多參數解讀(2)
機器學習相關書籍分享
基于Caret進行隨機森林隨機調參的4種方式
送你一個在線機器學習網站,真香!
UCI機器學習數據集
機器學習第17篇 - 特征變量篩選(1)
機器學習第18篇 - 基于隨機森林的Boruta特征變量篩選(2)
機器學習系列補充:數據集準備和更正YSX包
機器學習第20篇 - 基于Boruta選擇的特征變量構建隨機森林
?機器學習第21篇 - 特征遞歸消除RFE算法 理論
總結
以上是生活随笔為你收集整理的RFE筛选出的特征变量竟然是Boruta的4倍之多的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刷新认知!基因表达,男女有别|Scien
- 下一篇: 清朝神秘女科学家,在国外火了200多年,