随机森林的生成方法:
1.从样本集中通过重采样的方式产生n个样本
2.假设样本特征数目为a,对n个样本选择a中的k个特征,用建立决策树的方式获得最佳分割点
3.重复m次,产生m棵决策树
4.多数投票机制来进行预测
(需要注意的一点是,这里m是指循环的次数,n是指样本的数目,n个样本构成训练的样本集,而m次循环中又会产生m个这样的样本集)
总结:属于集成学习中的Bagging(多个相同基模型),产生n个样本的步骤是有放回的抽样(统计学里叫bootstrapping)
那么随机森林(RF)是为了做什么呢?
为了解决决策树容易过拟合的问题。
1.为什么决策树容易过拟合?
这就很好理解了,如果放任决策树自由生长,最终,每个叶子包含单一样本,这样可以完美匹配训练集。但是,在测试集上肯定会出现overfitting的现象。
2.为什么RF能解决过拟合?
为了解决问题1,那么,我们可以
a.剪枝:就是定阈值终止决策树增长的意思。阈值过大过小都不好,会决策树太简单或者简化不够。
b.产生很多树,然后用这些树整体去做预测:就是RF了。
原因:每次用的是子样本集,所以放任决策树生长的话,最后的长枝情况也是不一样的,这样就不会存在完美匹配所有训练集的情形了。
大概是这么理解的。