随机森林(Random Forest)
随机森林是许多决策树组成的模型。这个模型不仅仅是一个森林,而且它还是随机的,因为有两个概念:
-
随机抽样的数据点;
-
基于要素子集拆分的节点;
随机抽样
随机森林背后的关键是每棵树在数据点的随机样本上训练。样本用替换(称为bootstrapping)绘制,这意味着一些样本将在一个树中多次训练。这个想法是通过对不同样本的每棵树进行训练,尽管每棵树相对于一组特定的训练数据可能有很大的差异,但总体而言,整个森林的方差都很小。每个学习者在数据的不同子集上学习,然后进行平均的过程被称为bagging,简称bootstrap aggregating。
用于拆分节点的随机特征子集
随机森林背后的另一个关键点是,只考虑所有特征的子集来分割每个决策树中的每个节点。通常,这被设置为sqrt(n_features)意味着在每个节点处,决策树考虑在特征的样本上分割总计特征总数的平方根。考虑到每个节点的所有特征,也可以训练随机森林。
如果你掌握单个决策树、bagging决策树和随机特征子集,那么你就可以很好地理解随机森林的工作原理。随机森林结合了数百或数千个决策树,在略微不同的观察集上训练每个决策树,并且仅考虑有限数量的特征来分割每个树中的节点。