随机森林与变量重要性检测

###随机森林筛选变量重要性排序!
#(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

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值