这篇博客和上一篇博客一样,也是我看视频的笔记,以下所有图片和例子来自于以下两个视频:
https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&index=2&list=PLyeGvkJQKy7nDT5kH9S99_p51DcDRQEIR&t=0s
https://www.youtube.com/watch?v=nyxTdL_4Q-Q&index=3&list=PLyeGvkJQKy7nDT5kH9S99_p51DcDRQEIR
随机森林
随机森林是一种机器学习算法。随机森林是由很多个决策树组成的,关于什么是决策树,可以参考这篇博客:
https://blog.csdn.net/lucylove3943/article/details/86777844
决策树在预测方面的准确度不是很高,所以引入了随机森林,随机森林利用许多个决策树和在一起来做预测。
如何建立随机森林
第一步:建立Bootstrap数据集
什么是bootstrapped的数据集?怎么建立他们呢?
可以参考以下例子,假设我们现在有如图所示的训练数据:
最原始的数据一共有4个特征,分别为:是否胸痛,血液循环是否良好,动脉是否阻塞,以及体重。输出为是否有心脏病。那么如何创造bootstrap数据集呢:
- 数据的数量和原始数据数量相同
- 从原始的数据中随机选取一些,作为新的数据集
- 因为前两个要求,所以我们允许在新的数据集里存在重复的数据。
一个bootstrapped的数据的例子如下图:
在新的bootstrapped数据中,数据的数量和原始数据一样,随机选取了四组,其中原始数据的第四组被用了两次。
类似的,我们做很多个这样的数据集
第二步:建造决策树
根据我们创造的bootstrapped的数据集,建造决策树。
但是不是直接用所有的特征来建造决策树,而是对于每一步,都从中随机的选择一些特征,来构造决策树。
比如说,假设我们现在规定每一次选择节点的时候,只用随机选择的两个特征来计算Gini指数。
(至于如何决定选几个特征合适,之后再介绍)
下面是寻找根节点的时候,随机选择的的两个特征:血液循环是否良好,动脉是否阻塞。