小白学R 第二十五课

你好,这里是R数据课堂,我是一水。

上节课了解了模型树,这节课学习随机森林:

理论概况

数据准备

模型训练

01理论概况

随机森林是集成方法的一种,会用bootstrap的样本构建决策树,然后用多个决策树的预测结果的均值作为随机森林的预测结果。具体思路是在单个树的构建过程中增加一个约束条件,即在树的每个节点,从全部输入特征中随机抽取数量为mtry的特征,只考虑这些特征进行计算。

02 数据准备

credit

str(credit)

set.seed(300)

random_ids

credit_train

credit_test

# runif是0-1之间均匀分布的返回值,order对数据升序排列,返回对应的行标。然后依据行标获得训练集和测试集。

03 模型训练和评估

library(caret)

ctrl

grid_rf

m_rf

m_rf_best

library(randomForest)

mean(predict(m_rf_best,data=credit_train)== credit_train$default)

mean(predict(m_rf_best,data=credit_test)== credit_test$default)

# 训练模型之前先要准备模型的参数ctrl和grid_rf,ctrl选择抽样方式,这里是10次10层交叉检验,grid_rf选择特征数量为3~8,模型会分别尝试各个数量的特征。

# 模型训练结果显示8个特征的时候Kappa值最大,因此选择8个特征作为最优模型的参数。m_rf$finalModel用于选择最优模型。最后用均值显示训练集和测试集的评估效果。

小结

train函数中决策树的数量默认是500,特征数量的经验值是总特征的平方根或者1/3。

如果对模型的评估效果不满意,可以尝试更改以下参数值:

更改抽样方法

更改决策树的数量

更改选取的特征数量

下节课我们会尝试更改参数值进行模型训练。

感谢阅读,今天的内容有任何操作问题,请留言。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180929G1O8V200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券