更多特征变量却未能带来随机森林分类效果的提升
評(píng)估RFE變量篩選過(guò)程中構(gòu)建的最終模型的效果
最終擬合的模型可通過(guò)rfe$fit獲取,用于后續(xù)預(yù)測(cè)分析。
library(randomForest) rfe$fit## ## Call: ## randomForest(x = x, y = y, importance = TRUE) ## Type of random forest: classification ## Number of trees: 500 ## No. of variables tried at each split: 14 ## ## OOB estimate of error rate: 5.08% ## Confusion matrix: ## DLBCL FL class.error ## DLBCL 43 1 0.02272727 ## FL 2 13 0.13333333但此模型沒(méi)有進(jìn)行調(diào)參。雖然用的變量多了,但預(yù)測(cè)效果沒(méi)有比Boruta篩選的特征變量結(jié)果好。P-Value [Acc > NIR] : 0.2022不顯著。
# 獲得模型結(jié)果評(píng)估矩陣(`confusion matrix`)predictions <- predict(rfe$fit, newdata=test_data) confusionMatrix(predictions, test_data_group)## Confusion Matrix and Statistics ## ## Reference ## Prediction DLBCL FL ## DLBCL 14 2 ## FL 0 2 ## ## Accuracy : 0.8889 ## 95% CI : (0.6529, 0.9862) ## No Information Rate : 0.7778 ## P-Value [Acc > NIR] : 0.2022 ## ## Kappa : 0.6087 ## ## Mcnemar's Test P-Value : 0.4795 ## ## Sensitivity : 1.0000 ## Specificity : 0.5000 ## Pos Pred Value : 0.8750 ## Neg Pred Value : 1.0000 ## Prevalence : 0.7778 ## Detection Rate : 0.7778 ## Detection Prevalence : 0.8889 ## Balanced Accuracy : 0.7500 ## ## 'Positive' Class : DLBCL ##基于RFE選擇的特征變量再次調(diào)參構(gòu)建模型
# 提取訓(xùn)練集的特征變量子集 rfe_train_data <- train_data[, caretRfe_variables$Item] rfe_mtry <- generateTestVariableSet(length(caretRfe_variables$Item))使用 Caret 進(jìn)行調(diào)參和建模
library(caret) # Create model with default parameters trControl <- trainControl(method="repeatedcv", number=10, repeats=5)# train model if(file.exists('rda/rfeVariable_rf_default.rda')){rfeVariable_rf_default <- readRDS("rda/rfeVariable_rf_default.rda") } else {# 設(shè)置隨機(jī)數(shù)種子,使得結(jié)果可重復(fù)seed <- 1set.seed(seed)# 根據(jù)經(jīng)驗(yàn)或感覺(jué)設(shè)置一些待查詢的參數(shù)和參數(shù)值tuneGrid <- expand.grid(mtry=rfe_mtry)rfeVariable_rf_default <- train(x=rfe_train_data, y=train_data_group, method="rf", tuneGrid = tuneGrid, # metric="Accuracy", #metric='Kappa'trControl=trControl)saveRDS(rfeVariable_rf_default, "rda/rfeVariable_rf_default.rda") } print(rfeVariable_rf_default)## Random Forest ## ## 59 samples ## 216 predictors ## 2 classes: 'DLBCL', 'FL' ## ## No pre-processing ## Resampling: Cross-Validated (10 fold, repeated 5 times) ## Summary of sample sizes: 53, 53, 54, 53, 53, 54, ... ## Resampling results across tuning parameters: ## ## mtry Accuracy Kappa ## 1 0.9802857 0.9459213 ## 2 0.9707619 0.9091146 ## 3 0.9600952 0.8725321 ## 4 0.9554286 0.8405432 ## 5 0.9599048 0.8612016 ## 6 0.9525714 0.8326301 ## 7 0.9572381 0.8642968 ## 8 0.9492381 0.8242968 ## 9 0.9492381 0.8242968 ## 10 0.9492381 0.8242968 ## 16 0.9492381 0.8242968 ## 25 0.9492381 0.8242968 ## 27 0.9463810 0.8160615 ## 36 0.9492381 0.8242968 ## 49 0.9492381 0.8242968 ## 64 0.9425714 0.8042968 ## 81 0.9363810 0.7874901 ## 100 0.9397143 0.7960615 ## 125 0.9311429 0.7713556 ## ## Accuracy was used to select the optimal model using the largest value. ## The final value used for the model was mtry = 1.結(jié)果還是不顯著P-Value [Acc > NIR]>0.05。效果弱于Boruta篩選出的特征變量構(gòu)建的模型。
# 獲得模型結(jié)果評(píng)估矩陣(`confusion matrix`)predictions <- predict(rfeVariable_rf_default, newdata=test_data) confusionMatrix(predictions, test_data_group)## Confusion Matrix and Statistics ## ## Reference ## Prediction DLBCL FL ## DLBCL 14 2 ## FL 0 2 ## ## Accuracy : 0.8889 ## 95% CI : (0.6529, 0.9862) ## No Information Rate : 0.7778 ## P-Value [Acc > NIR] : 0.2022 ## ## Kappa : 0.6087 ## ## Mcnemar's Test P-Value : 0.4795 ## ## Sensitivity : 1.0000 ## Specificity : 0.5000 ## Pos Pred Value : 0.8750 ## Neg Pred Value : 1.0000 ## Prevalence : 0.7778 ## Detection Rate : 0.7778 ## Detection Prevalence : 0.8889 ## Balanced Accuracy : 0.7500 ## ## 'Positive' Class : DLBCL ##機(jī)器學(xué)習(xí)系列教程
從隨機(jī)森林開(kāi)始,一步步理解決策樹(shù)、隨機(jī)森林、ROC/AUC、數(shù)據(jù)集、交叉驗(yàn)證的概念和實(shí)踐。
文字能說(shuō)清的用文字、圖片能展示的用、描述不清的用公式、公式還不清楚的寫個(gè)簡(jiǎn)單代碼,一步步理清各個(gè)環(huán)節(jié)和概念。
再到成熟代碼應(yīng)用、模型調(diào)參、模型比較、模型評(píng)估,學(xué)習(xí)整個(gè)機(jī)器學(xué)習(xí)需要用到的知識(shí)和技能。
機(jī)器學(xué)習(xí)算法 - 隨機(jī)森林之決策樹(shù)初探(1)
機(jī)器學(xué)習(xí)算法-隨機(jī)森林之決策樹(shù)R 代碼從頭暴力實(shí)現(xiàn)(2)
機(jī)器學(xué)習(xí)算法-隨機(jī)森林之決策樹(shù)R 代碼從頭暴力實(shí)現(xiàn)(3)
機(jī)器學(xué)習(xí)算法-隨機(jī)森林之理論概述
隨機(jī)森林拖了這么久,終于到實(shí)戰(zhàn)了。先分享很多套用于機(jī)器學(xué)習(xí)的多種癌癥表達(dá)數(shù)據(jù)集 https://file.biolab.si/biolab/supp/bi-cancer/projections/。
機(jī)器學(xué)習(xí)算法-隨機(jī)森林初探(1)
機(jī)器學(xué)習(xí) 模型評(píng)估指標(biāo) - ROC曲線和AUC值
機(jī)器學(xué)習(xí) - 訓(xùn)練集、驗(yàn)證集、測(cè)試集
機(jī)器學(xué)習(xí) - 隨機(jī)森林手動(dòng)10 折交叉驗(yàn)證
一個(gè)函數(shù)統(tǒng)一238個(gè)機(jī)器學(xué)習(xí)R包,這也太贊了吧
基于Caret和RandomForest包進(jìn)行隨機(jī)森林分析的一般步驟 (1)
Caret模型訓(xùn)練和調(diào)參更多參數(shù)解讀(2)
機(jī)器學(xué)習(xí)相關(guān)書(shū)籍分享
基于Caret進(jìn)行隨機(jī)森林隨機(jī)調(diào)參的4種方式
送你一個(gè)在線機(jī)器學(xué)習(xí)網(wǎng)站,真香!
UCI機(jī)器學(xué)習(xí)數(shù)據(jù)集
機(jī)器學(xué)習(xí)第17篇 - 特征變量篩選(1)
機(jī)器學(xué)習(xí)第18篇 - 基于隨機(jī)森林的Boruta特征變量篩選(2)
機(jī)器學(xué)習(xí)系列補(bǔ)充:數(shù)據(jù)集準(zhǔn)備和更正YSX包
機(jī)器學(xué)習(xí)第20篇 - 基于Boruta選擇的特征變量構(gòu)建隨機(jī)森林
?機(jī)器學(xué)習(xí)第21篇 - 特征遞歸消除RFE算法 理論
RFE篩選出的特征變量竟然是Boruta的4倍之多
總結(jié)
以上是生活随笔為你收集整理的更多特征变量却未能带来随机森林分类效果的提升的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2020 年诺贝尔生理奖授予丙肝病毒的3
- 下一篇: 单细胞分析Seurat使用相关的10个问