###随机森林筛选变量重要性排序!
#(1)训练集、测试
#将数据集分为训练集和测试集,比例为7:3
library(openxlsx)
train_sub = sample(nrow(newdata),7/10*nrow(newdata))
train_data = newdata[train_sub,]
test_data = newdata[-train_sub,]
#(2)step_2
library(pROC) #绘制ROC曲线
library(randomForest)
#数据预处理
train_data$fitness1 = as.factor(train_data$fitness1)
test_data$fitness1 = as.factor(test_data$fitness1)
my_randomforest <- randomForest(fitness1~hlw+gender+age+hunyin+huji+edu+lnincome_fam+labour+a43a+east+west,
data = train_data,
ntree =500,
mtry=3,
importance=TRUE ,
proximity=TRUE)
#(3)查看变量的重要性&画图:
print(my_randomforest) # % Var explained类似于回归分析中的R方
my_randomforest$importance #查看已建好的随机森林的回归模型中,各个自变量的重要程度
varImpPlot(my_randomforest, main = "variable importance") #画图
#(4)预测
my_pred<-predict(my_randomforest, newdata=test_data)
table(my_pred,test_data$fitness1)
my_pred1<-predict(my_randomforest, newdata=train_data)
table(my_pred1,train_data$fitness1)
————————————————
版权声明:本文为CSDN博主「小熊没有猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jdhsjjsjsjsn/article/details/122212561
随机森林与变量重要性检测
最新推荐文章于 2024-04-10 11:10:47 发布