机器学习:随机森林简介及调参

转自:【机器学习】随机森林RFhttps://blog.csdn.net/zhoubl668/article/details/50740189

一 随机决策树的构造

        建立每棵决策树的过程中,有2点:采样与完全分裂。首先是两个随机采样的过程,RF要对输入数据进行一下行(样本)、列(特征)采样,对于行采样(样本)采用有放回的方式,也就是在采样得到的样本中可以有重复。从M个特征中(列采样)出m特征。之后就是用完全分裂的方式建立出决策树。

        一般决策树会剪枝,但这里采用随机化,就算不剪枝也不会出现“过拟合”现象。

二 随机森林的构造

1.有N个样本,则有放回地随机选择N个样本(每次取1个,放回抽样)。这选择好了的N各样本用来训练一个决策树,作为决策树根节点处的样本。

2.当每个样本有M个属性时,在决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m<

3.决策树形成过程中,每个节点都要按照步骤2来分裂(很容易理解,如果下一次该节点选出来的那一个属性是刚刚父节点分裂时用过的属性,则该节点已经达到了叶子节点,无需继续分裂)。一直到不能再分裂为止,注意整个决策树形成过程中没有剪枝。

4.按步骤1-3建立大量决策树,如此形成RF。

(从上面步骤可以看出,RF的随机性体现在每棵树的训练样本是随机的,树中每个节点的分类属性也是随机选择的,有了这两个随机的保证,RF就不会产生过拟合现象了)

三 随机森林调参

随机森林有3个比较重要的参数,对结果影响比较大,max_features,n_estimators,min_sample_leaf.其他弱之

(1)max_features(最大特征数)

划分特征时的最多特征数,可以是多种类型的值。默认为“None”,即划分时考虑所有特征数。

其他值:“log2”——最多考虑log2N个特征;“sqrt”/“auto”——最多考虑sqrt(N)个特征;int(n)——可填任意大于1且不大于特征数量的整数。

一般而言,当样本特征数较少(<50)时,使用默认配置即可。

(2)n_estimators(弱学习器最大迭代次数)

即弱学习器的个数。一般而言,该值太小易发生欠拟合,太大则成本增加且效果不明显。一般选取适中的数值,默认为10。

(3)min_samples_leaf(叶结点最少样本数)

    当某叶结点数目小于样本数,则和兄弟结点一起被剪枝。默认为1。当样本量不大时,可以使用默认配置。否则推荐增大该值。

(4)max_depth(决策树最大深度)

默认为“None”,即决策树建立子树时不限制子树的深度。在样本量较少或特征数较少的情况下可以使用默认配置。否则,推荐取值10-100之间。

 

四 RF性能及优缺点

优点:

        1.很多的数据集上表现良好;

        2.能处理高维度数据,并且不用做特征选择;

        3.训练完后,能够给出那些feature比较重要;

        4.训练速度快,容易并行化计算。

缺点:

        1.在噪音较大的分类或回归问题上会出现过拟合现象;

        2.对于不同级别属性的数据,级别划分较多的属性会对随机森林有较大影响,则RF在这种数据上产出的数值是不可信的。

参考:

1.随机森林模型调参方法:https://blog.csdn.net/Caesar1993_Wang/article/details/80337103

2.【机器学习】随机森林RF:https://blog.csdn.net/zhoubl668/article/details/50740189

 

你可能感兴趣的:(随机森林)