打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
练习R:randomForest ()函数随机森林模型筛选自变量

===

使用prostate数据集,先来看一下变量情况。
因变量lpsa是连续数据,所以接下来进行的是随机森林回归预测,本例我们的主要目的是进行自变量重要性的排序
set.seed(123)randfit <- randomForest(lpsa~lcavol+lweight+age+lbph+svi+lcp+gleason+pgg45,                        mtry=3,                         nodesize=5,                        replace=T,                        localImp=T,                        nPerm=10,                        data = prostate)
设定随机种子便于重复。主动指定树的特征变量数量为3个,每次随机3个变量进行生长。
现在来看一下刚才拟合的随机森林模型情况:
Type of random forest: regression
Number of trees: 500 
No. of variables tried at each split: 3 
Mean of squared residuals: 0.5988957 
% Var explained: 54.59
默认生成500棵树,按我们指定的每次树的分裂都是随机3个特征自变量,均方差0.599,解释了54.59%的变异来源
plot(randfit,main="Random Forest")
看一下随tree个数增加的mse误差变化情况,
which.min(randfit$mse)
优选一下tree的数量。结果反馈是196棵树。然后重新建模,创建196棵树的随机森林。
randfit2 <- randomForest(lpsa~lcavol+lweight+age+lbph+svi+lcp+gleason+pgg45,                        ntree=197,                        mtry=3,                        nodesize=5,                        replace=5,                        localImp=T,                        nPerm=10,                        data = prostate)
现在来看优化过的随机森林模型中自变量的重要性排序。
varImpPlot(randfit2,main = "Variable Importance Plot")
incnodepurity和%incmse这两个指标都是越大说明变量越重要。综合来看,lcavol、lweight、svi这三个最重要排在前三位置
lcp和pgg45位列前五。
可以根据研究的需要,选择重要的自变量进行后续的分析。
===
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
高分生信SCI套路攻略!精选我最喜欢的3大套路!谁用谁高分!(附代码)
R语言随机森林模型
R 随机森林算法
随机森林
R语言之Random Forest随机森林
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服