随机森林算法简单讲解

2020-07-17 14:15:36 浏览数 (1)

在机器学习中通常分为有监督学习、无监督学习,半监督学习和强化学习四大类。而随机森林是一种典型的有监督学习算法,它是在决策树基础上得到的一种集成学习(bagging)算法。

随机森林,顾名思义就是由多棵决策树组成的一种算法(这里可以回想一下上节课讲的决策树算法的实现过程),同样既可以作为分类模型,也可以作为回归模型。在现实中更常用作分类模型,当然它也可以作为一种特征选择方法。而“随机”主要指两个方面:第一,随机选样本,即从原始数据集中进行有放回的抽样,得到子数据集,子数据集样本量保持与原始数据集一致,不同子数据集间的元素可以重复,同一个子数据集间的元素也可以重复。第二,随机选特征,与随机选样本过程类似,子数据集从所有原始待选择的特征中选取一定数量的特征子集,然后从再已选择的特征子集中选择最优特征的过程。通过每次选择的数据子集和特征子集来构成决策树,最终得到随机森林算法。

随机森林算法生成过程:

1、从原始数据集中每次随机有放回抽样选取与原始数据集相同数量的样本数据,构造数据子集;

2、每个数据子集从所有待选择的特征中随机选取一定数量的最优特征作为决策树的输入特征;

3、根据每个数据子集分别得到每棵决策树,由多棵决策树共同组成随机森林;

4、最后如果是分类问题,则按照投票的方式选取票数最多的类作为结果返回,如果是回归问题,则按照平均法选取所有决策树预测的平均值作为结果返回。

随机森林优缺点

优点:

1、由于是集成算法,模型精度往往比单棵决策树更高;

2、每次随机选样本和特征,提高了模型抗干扰能力,泛化能力更强;

3、对数据集适应能力强,可处理离散数据和缺失数据,数据规范化要求低;

4、在每次随机选样本时均有1/3的样本未被选上,这部分样本通常称之为袋外数据OOB(out of bag),可以直接拿来作为验证集,不需占用训练数据。

缺点:

1、当决策树的数量较多时,训练所需要时间较长;

2、模型可解释性不强,属于黑盒模型。

我们还是用上节课提到的鸢尾花数据集来比较随机森林与决策树两者在同样的数据情况下的预测效果,代码运行结果如下

显然可以看出,在预测鸢尾花种类这个数据集中,随机森林模型预测准确率更高,所以随机森林算法是当之无愧的能代表集成学习技术水平方法!本节课分享到此,下节课给大家带来常用的模型评价方法——混淆矩阵,ROC曲线以及AUC的介绍,敬请期待。

0 人点赞