ML(五)

集成学习与随机森林

1、集成学习

集成学习(ensemble learning)通过构建并合并多个模型来完成学习任务,从而获得比单一学习模型更显著优越的泛化性能,简言之,集成学习就是利用模型的“集体智慧”,提升预测的准确率. 根据单个模型方式,集成学习可以分为两大类:按照模型与模型之间的关系分为两类

  • 个体间存在强依赖关系,必须串行生成的序列化方法,其代表为Boosting算法;前个模型的输出作为下个模型的输入,依次循环
  • 个体之间不存在强依赖关系,可同时生成的并行化方法,代表是Bagging和随机森林算法.三个模型同时去预测,两个模型预测的一样,那么我们就认同他这个答案是对的

一句话说就是,三个臭皮匠顶个诸葛亮。把很多模型集成到一起

2. Boosting

1)什么是Boosting

Boosting(直译为推进、提升)是一族可以将弱学习器提升为强学习器的算法,其工作原理是:

  • 先训练出一个初始模型;
  • 根据模型的表现进行调整,使得模型预测错误的数据获得更多的关注,再重新训练下一个模型;
  • 不断重复第二步,直到模型数量达到预先设定的数目T,最终将这T个模型加权结合.

AdaBoosting(Adaptive Boosting,正向激励)是Boosting算法族中最著名的算法,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值,基本步骤如下:

  • 首先,是初始化训练数据的权值分布D1,假设有N个训练样本数据,则每一个训练样本最开始时,都被赋予相同的权值 w 1 = 1 / N w_1=1/N w1=1/N
  • 然后,训练弱分类器 h i h_i hi. 具体训练过程中是:如果某个训练样本点,被弱分类器 h i h_i hi准确地分类,那么在构造下一个训练集中,它对应的权值要减小;相反,如果某个训练样本点被错误分类,那么它的权值就应该增大. 权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去;
  • 最后,将各个训练得到的弱分类器组合成一个强分类器. 各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用. 换而言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小 .
import sklearn.tree as st
import sklearn.ensemble as se
# model: 决策树模型(单个模型,基学习器)
model = st.DecisionTreeRegressor(max_depth=4)
 
# n_estimators:构建400棵不同权重的决策树,训练模型
model = se.AdaBoostRegressor(model, # 单模型
                             n_estimators=400, # 决策树数量
                             random_state=7)# 随机种子
# 训练模型
model.fit(train_x, train_y)
# 测试模型
pred_test_y = model.predict(test_x)

3. 随机森林

1)什么是随机森林

随机森林(Random Forest,简称RF)是专门为决策树设计的一种集成方法,是Bagging法的一种拓展,它是指每次构建决策树模型时,不仅随机选择部分样本,而且还随机选择部分特征来构建多棵决策树. 这样不仅规避了强势样本对预测结果的影响,而且也削弱了强势特征的影响,使模型具有更强的泛化能力.
随机森林简单、容易实现、计算开销小,在很多现实任务中展现出强大的性能,被誉为“代表集成学习技术水平的方法”.

import sklearn.ensemble as se

model = se.RandomForestRegressor(
    max_depth, # 决策树最大深度
    n_estimators, # 决策树数量
    min_samples_split)# 子表中最小样本数 若小于这个数字,则不再继续向下拆分
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rebirth-LSS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值