前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >随机森林概览:创建,使用和评估

随机森林概览:创建,使用和评估

作者头像
王诗翔呀
发布2020-10-09 15:43:16
1K0
发布2020-10-09 15:43:16
举报
文章被收录于专栏:优雅R优雅R

随机森林由决策树组成。随机森林很容易被创建、使用和解释。

决策树在训练集中的表现较好,但是因其不具有灵活性而在其他外部数据中的表现略差。由许多决策树组成的随机森林更具有灵活性,从而较大地提高了准确预测的能力。

本小节将主要从随机森林的创建、使用和评估进行介绍,最后展示如何对创建随机森林进行参数选择。

1. 创建随机森林

Step 1:创建“bootstrapped”数据集。

假设原始数据集仅有4个样本,利用bootstrap方法创建数据集,即从原始数据集中有放回的随机抽样(抽样样本数与原始数据样本数相同),有可能抽到重复的样本,也有可能不能抽到某个样本。如下,在bootstrapped数据集中,含有2个相同的样本,不含原始数据中的第3个样本。

Step2: 基于bootstrapped数据集,创建决策树。

在创建决策树的每一步中,仅随机选择一部分变量进行创建节点(根节点和内部节点)。在本例中,仅使用2个随机变量进行创建决策树【在后续的学习中,我们将了解如何选择最适随机变量数量】。

  • 在创建根节点的时候,随机选择的两个随机变量为Good Blood Circulation和Blocked Arteries。根据决策树创建的变量选择原理(如Gini不纯度系数)。由于样本数量较少,我们在此处假设Good Blood Circulation的分类效果更优,将其作为决策树的根节点。
  • 接着,在余下的3个变量中,又随机选择两个变量(chest pain和weight),选择分类效果最优的变量作为节点。
  • 接着,在余下的2个变量中,继续选择两个变量进行创建节点。直至决策树创建成功。如果变量较多和样本数较多,需要多次随意选择变量进而创建节点。

Step3: 反复重复以上步骤,即不断重复创建新的bootstrapped数据集和创建新的决策树

如果重复的次数为100次,那么将创建一片含有100棵决策树的随机森林。这里仅展示其中6个决策树。

随机森林的意义:因为bootstrapped数据集和创建决策树的每一步仅考虑部分随机变量,故随机森林由各种各样的决策树组成。决策树的多样性使得随机森林较单一决策树更有效。

2. 随机森林的使用

假设基于前面的数据,我们已创建随机森林。

现在我们有一个新的患者,我们需要通过一些已知的变量来预测其是否患有心脏病。

将该患者的数据放进随机森林中(如,6棵树的随机森林),每一棵树都可以预测出一个结果。基于每一棵数的预测结果,如第一棵树预测为“yes”,第二棵树预测为“yes”......如果随机森林中,大多数决策树的预测结果为“yes”,5个决策树认为“yes”,仅1个决策树认为是“no”,那么基于随机森林的预测结果就为“yes”,即认为该患者患有心脏病。

重抽样数据和综合多个模型结果进行预测,这样的方法称为装袋算法(Bagging)。

3. 随机森林的性能评价

袋外数据与袋外数据集:在第一棵决策树中,原始数据中的第三个样本未被纳入bootstrapped数据集,被称为袋外样本(out-of-bag,OBB)。这样的样本组成一个新的数据集,称为袋外数据集(out-of-bag dataset)。

总得来说,将会有1/3的原始数据未被纳入bootstrapped数据集。故如果原始数据集更大,未纳入bootstrapped数据集的样本将会更多。

因为袋外数据未被用来创建决策树,故我们可将袋外数据代入不含该样本的决策树(共4个不含该样本的决策树),判定其是否能将该样本进行正确分类。从而判定随机森林的分类效能。

  • 第一棵决策树:在第一棵不含该样本的决策树中,该样本被分类为NO,故第一棵树能够实现对其的正确分类。
  • 第二、三和四棵决策树:第二将其错误分类为YES,第三和四棵决策树将其正确分类为NO。
  • 总结:3棵决策树能正确分类,1棵决策树未能正确分类,故该样本能被随机森林正确分类。

同第一棵决策树的袋外样本一样,将其他决策树的袋外样本带入不含该袋外样本的决策树,从而判定该随机森林能够将其正确分类。

  • 被随机森林正确分类的袋外数据的比例(被分类正确数 / 总数)评估随机森林的准确性;
  • 被随机森林错误分类的袋外数据比例记作袋外误差率(out-of-bag error,被分类错误数 / 总数)

4. 创建随机森林的参数选择

基于前面的学习,我们已知如何创建、使用和评估随机森林。

接下来,我们就可以更加详细的了解,将评估的随机森林性能反馈给创建随机森林:如何选择创建决策树时每一步考虑的随机变量个数。

  • 每一步使用2个随机变量创建决策树(eg,Good Blood Circulation和Blocked Arteries)。重复步骤创建随机森林。
  • 每一步使用3个随机变量创建决策树。重复步骤创建随机森林。
  • 比较:每一步使用2个随机变量的随机森林与每一步使用3个随机变量的随机森林的袋外误差率比较。
  • 继续创建不同随机变量数量的随机森林,将它们进行比较,从而选出最佳精准的随机森林。也就是说,在评估已创建随机森林性能后,通过改变创建决策树时每一步考虑的随机变量个数,创建新的随机森林,并将创建的随机森林进行相互比较,最终选出最优的随机森林。

参考视频:https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF&index=42

编辑:吕琼

校审:罗鹏

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 优雅R 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建随机森林
  • 2. 随机森林的使用
  • 3. 随机森林的性能评价
  • 4. 创建随机森林的参数选择
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档