随机森林重要性排序-R
生活随笔
收集整理的這篇文章主要介紹了
随机森林重要性排序-R
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
library(openxlsx)
wine = read.xlsx("E:/時間趨勢/winequality-red-2.xlsx")
#將數據集分為訓練集和測試集,比例為7:3
train_sub = sample(nrow(wine),7/10*nrow(wine))
train_data = wine[train_sub,]
test_data = wine[-train_sub,]
library(pROC) #繪制ROC曲線
library(randomForest)
#數據預處理
train_data$Yield = as.factor(train_data$Yield)
test_data$Yield = as.factor(test_data$Yield)
wine_randomforest <- randomForest(Yield ~ Tmax+Tmin+AVRH+AVGT+SD+CWDI+P,data = train_data,ntree =500,mtry=3,importance=TRUE ,proximity=TRUE)
#查看變量的重要性
wine_randomforest$importance
varImpPlot(wine_randomforest, main = "variable importance",font = 2,lwd = 5,col = "red",col.axis = "blue",font.axis = 2,cex = 1,cex.axis = 5,pch = 16,cex.lab = 0.7,font.lab = 2)#對測試集進行預測
pre_ran <- predict(wine_randomforest,newdata=test_data)
#將真實值和預測值整合到一起
obs_p_ran = data.frame(prob=pre_ran,obs=test_data$Yield)
#輸出混淆矩陣
table(test_data$Yield,pre_ran,dnn=c("真實值","預測值"))
#繪制ROC曲線
ran_roc <- roc(test_data$Yield,as.numeric(pre_ran))
plot(ran_roc, print.auc=TRUE, auc.polygon=TRUE, grid=c(0.1, 0.2),grid.col=c("green", "red"), max.auc.polygon=TRUE,auc.polygon.col="skyblue", print.thres=TRUE,main='隨機森林模型ROC曲線,mtry=3,ntree=500')
總結
以上是生活随笔為你收集整理的随机森林重要性排序-R的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 随机森林的特征重要性原理
- 下一篇: 金蝶显示云服务器已离线,金蝶云服务器已离