1.其他术语概念(前提)
随机森林我们可以理解为多个决策树组成的模型,但是如何组合,组合的方式是什么,我们就得知道集成学习的思想,bootstraping,bagging的概念。
集成学习思想: 集成学习主要的作用是为了解决单个模型在运行时固有的缺陷,从而将多个单个模型组合到一起,取长补短,共同发挥功效。简单的理解人多力量大。随机森林就是这个思想下的产物。这里借用另一个博主的一张图可以更好的理解这个思想。
bootstraping:自助抽样法,从样本中有放有回的随机抽取样本,这样能保证每个样本被抽取的概率都一样。
bagging: boostrap aggregation的缩写,自主抽样集成,袋装法。它是一种根据均匀概率分布从数据集中重复抽样(有放回的)的技术。子训练样本集的大小和原始数据集相同。在构造每一个子分类器的训练样本时,由于是对原始数据集的有放回抽样,因此同一个训练样本集中可能出现多次同一个样本数据。讲到bagging,还可以拓展下,其实模型的组合方式分两种,分别为1.通过处理训练数据集,2.通过处理输入特征,刚才说的bagging属于前一种。其他类型的可以看下下面这张图。
2.随机森林的基本概念
随机森林其实就是一种特殊的bagging的方法,它的基础模型就是单棵决策树,它利用bootstrap方法生成m个训练集,对每个训练集构造一棵决策树,但是在找分裂结点时,它并不是使用全部特征,而是从所有特征中随机抽取部分特征,所以说每个决策树的分裂结点所使用的特征未必相同。实际上,随机森林同时对数据集,特征都进行了随机采样,所以说是一种特殊的bagging方法。
随机森林将成百上千棵决策树组合在一起,在略微不同的观察集上训练每个决策树,在每棵树中仅考虑有限数量的
特征来拆分节点。随机森林的最终预测是通过平均每棵树的预测来得到的。
随机森林的部分展示图(设定深度为6)
3.随机森林的优缺点
优点:
1、随机抽样和随机抽取特征可以很好地防止过拟合现象;
2、随机抽取特征也可以克服特征维度过高问题;
3、模型结构相对简单;
缺点:
1、对于数据噪音过大的样本集,容易产生过拟合现象
4.sklearn重要参数详解
参数详解:
- criterion: 不纯度衡量指标 entropy(信息熵) / gini(基尼系数)
- max_depth: 最大深度
- min_samples_leaf: 一个结点所包含的最少样本数量,少于它就不会分枝
- max_features: 一个结点包含的最大特征数量,超过会限制个数的特征会被舍弃
- n_estimators: 森林中的树木的数量,一般越大的话,模型效果越好,但要注意过拟合问题。