集成学习——随机森林

本文介绍了随机森林,一种基于集成学习的算法,通过决策树的组合来提高分类性能。文章详细讲解了决策树的特征选择、生成和裁剪,以及随机森林的构建过程,包括随机抽样和特征选择策略。同时讨论了随机森林的优点和局限性。
摘要由CSDN通过智能技术生成

        随机森林就是基于集成学习bagging思想的一种算法,简单来说就是三个臭皮匠顶个诸葛亮,它的基本决策单元(臭皮匠)是决策树,当决策树多了就构成了一片森林。

一、基本单元——决策树

决策树十分符合人类直观思维,它是一种基于if-then-else规则的有监督学习,简单来说就是不断做抉择得出最后的结果。决策树算法可以分为三个部分:

1、特征选择

节点分裂特征的选择,筛选出更有利于分类的特征进行判断,根据该特征的不同取值进行子节点的建立。筛选特征的方式一般采用信息增益准则,选取信息增益最大的特征作为节点特征。

2、决策树生成

对每个子节点也使用信息增益准则进行分类形成新的子节点,直到没有特征或者信息增益很小为止,完成决策树的分裂生成。

3、决策树裁剪

防止过拟合,减少部分特征的判断。

二、集成学习

        集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,也称为多分类系统。为保证集成学习能够获得更好的学习性能,个体学习器需要具有一定的准确性和多样性,即个体学习器不能太坏,且个体之间需要具有差异

        体现在随机森林当中,即将样本输入到每棵独立的决策树当中进行分类。将若干个弱分类器(单个决策树)的分类结果进行以多胜少的选择,从而组成一个强分类器(随机森林)。每一棵决策树的分类能力越强、树与树之间的相关性越弱,整体森林的分类效果就越好。

三、随机森林

        顾名思义,该算法重在“随机”和“森林”上,森林自然是集成学习的体现,而随机则防止了过拟合以及加强了抗噪能力。

1、如果训练集大小为N,对于每棵决策树来说,每次随机有放回地从训练集中的抽取1个训练样本,总共抽取N次组成该树的训练集;因为有放回的抽取,所以可能有的数据不会被抽到有的数据会被重复抽到,而且随机保证了每棵树的训练集都是不同的。

2、如果存在M个特征,则从M中随机选择m个特征维度(m << M),使用这些m个特征维度中最佳特征(最大化信息增益)来分割节点。在森林生长期间,m的值保持不变。

3、按照步骤2进行分裂完成决策树的生成,构建很多决策树即组成随机森林。

特征选择个数m影响着树的相关性和分类能力,这也是随机森林的一个重要参数。

from sklearn.ensemble import RandomForestClassifier

# 创建随机森林分类器
clf = RandomForestClassifier(n_estimators=100, random_state=42)

# 训练模型
clf.fit(X_train, y_train)

# 预测
y_pred = clf.predict(X_test)

n_estimators : 决策树的个数;

random_state:控制构建树时使用的样本的随机性;

criterion:表示节点的划分准则;

bootstrap:是否对样本集进行有放回抽样来构建树;

max_features:构建决策树最优模型时考虑的最大特征数

四、优缺点

1、能够处理高维度多特征的数据,不用做特征选择(随机选择)

2、能够给出特征对于分类的重要程度

3、训练速度快,可以并行

4、可以处理存在大量特征缺失的数据

5、处理回归问题效果不如分类,因为无法给出连续的输出

6、对于小数据或者少特征的数据可能分类效果不是很好

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值