随机森林模型的原理

随机森林模型是集成模型的一种,它是由众多决策树集成得到的。

背景

当我们使用决策树模型的时候,会很容易发现它是易于过拟合的,对于决策树的过拟合有很多处理方法,譬如各种剪枝技术,而集成技术同样能够处理这一问题。我们通过集成技术生成各种不同的决策树,并综合考虑它们的预测结果,这样能够减少过拟合的出现机率。所以我认为训练随机森林模型的关键就在于如何产生不同形态的决策树

Bootstrap采样

为了产生多种多样的决策树模型,我们会对数据进行采样,这样我们选用了Bootstrap采样技术,假设有n个样本可供训练,我们通过bootstrap技术对训练集进行n次采样,每次都从训练集中选择一个样本记录下索引并放回到训练集,这样我们最终得到的训练单颗决策树的模型也有n个样本,但是可能会有重复的样本存在,这样就保证了训练每颗决策树的数据集是不同的,从而产生不同形态的决策树。

 

Max_features

在训练时我们通过控制max_features参数来指定决策树只能选定部分特征进行划分数据集,

max_features = 1: 在每一层划分节点都是随机选择一个特征进行划分,这样就会生成很复杂的决策树,同时会使得各个决策树是不同的;

max_features = n_features: 在每一层划分节点时都是对所有的特征计算划分指标然后选择最好的一个特征进行划分,这样是不利于随机森林模型的,因为生成的多颗决策树形态高度相似,集成无效化;

 

Sklearn API

sklearn.ensemble.RandomForestClassifier

 

优缺点比较

优点

                          缺点

  • 易于使用,表现出色
  • 不需要特征归一化
  • 能处理混合类型的特征
  • 易于并行化处理
  • 结果难以解释
  • 不适用于高维度特征的数据

猜你喜欢

转载自blog.csdn.net/Ahead_J/article/details/85538006
今日推荐