决策树系列(二):随机森林(random forest)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lanyuelvyun/article/details/88840200

随机森林,属于集成算法bagging的一种,关于什么是bagging看这里 决策树系列(一):集成学习(ensemble learning)->boosting与bagging的区别

1、简单原理以及特点

1)随机森林,属于集成算法bagging的一种,由多个基分类器组合而成,最终的预测结果是多个基分类器结果的平均值(回归问题)/众数(分类问题)。
2)各个基分类器之间相互独立,使用的基分类器是CART,CART是分类回归树,既可以用来分类,也可以用来进行回归。CART用作回归树时用平方误差最小化作为选择特征的准则,用作分类树时采用基尼指数最小化原则(该原则不关心具体的特征值,只跟特征的分布有关,百度一下gini指数的计算公式就能明白),进行特征选择,递归地生成二叉树。
3)在生成每一棵树的时候,都随机从原样本集中有放回的进行采样(自主采样),生成一个子集。并且也随机从M个特征里面挑选m(m小于M)个特征,用这些样本和特征训练该决策树。随机选样本,随机选特征。
4)每棵树都尽最大程度的生长,并且没有剪枝过程。这个不必担心过拟合的问题,因为在构建每一棵树时,用于训练的样本是原样本集的子集,特征也是原特征的子集,让该树无限生长,虽然会导致该树过拟合,但是也只是在该子集上过拟合,而不是在原样本集上过拟合。随机森林会有若干个这样的树,用于训练每一棵树的样本都不一样,并且都是原样本集的子集,而随机森林最后的预测结果是这些树的综合,所以并不会在原样本集上过拟合。

2、优点

1)在当前所有算法中,具有极好的准确率;
2)能够有效地运行在大数据集上;
3)能够处理具有高维特征的输入样本,而且不需要降维;
4)能够评估各个特征在分类/回归问题上的重要性;
5)在生成过程中,能够获取到内部生成误差的一种无偏估计;
6)对缺省值不敏感,因为随机选样本,随机选特征;
7)对于样本分布没有先验假设;

这以上的优点,重点分析一下第4、5、6个,其他的都好理解。

2.1 能够评估各个特征在分类问题上的重要性

随机森林可以对特征进行一个重要性的评估——可以输出特征的importance。随机森林可以输出两种 feature_importance(可以设置参数进行选择),分别是Variable importance和Gini importance,两者都是feature_importance,只是计算方法不同。

1)Variable importance
每一个特征的importance就是——>在构建树的时候,使用该特征进行分割的总的次数。比如说,我利用lightgbm算法生成了2棵树,在这两棵树里面,使用特征A分裂了2次,那么特征A的importance=2

2)Gini importance
每一个特征的importance就是——>在构建树的时候,使用该特性进行分割的总增益之和。

参考文献

【1】RandomForest中的feature_importance
【2】[Machine Learning & Algorithm] 随机森林(Random Forest)
【3】随机森林进行特征重要性度量的详细说明

猜你喜欢

转载自blog.csdn.net/lanyuelvyun/article/details/88840200