type
status
date
slug
summary
tags
category
icon
password

集成学习的种类

并联策略 Voting
不同的模型得出结果后投票

并联策略 Bagging
随机子数据集使用同样的模型算法

数据抽取策略
- 有放回 Bagging,抽取相互独立
- 无放回 Pasting,抽取不相互独立
OOB(out-of-bag)
- 36.8%的样本没被抽到
- 用这一部分作为测试集,不区分训练集和测试集
随机森林(Random Forest Trees)
Bagging + Base Estimator(Decision Tree)
- 构建决策树时,提供了更多的随机性
Extra - Trees
- 随机森林的一个扩展变体
- 使用随机的特征和随机的阈值进行节点划分
- 进一步提高模型随机性
- 训练速度更快
串联策略 Boosting
循环生成新训练集和新树🌲

AdaBoost
- 一步一步进行划分,再合起来
GBDT(Gradient Boosting Decision Tree)
混联策略 Stacking
对前面模型的预测结果用新模型进行二次拟合


- 数据一用于训练模型1、2、3
- 数据二经过模型1、2、3输出之后训练模型4
- 网络能更复杂,三级结构等等
- 相比神经网络,每个圆圈均为一个模型,可以不同
- 复杂网络容易发生过拟合
代码实现
Voting
- 数据集

- 手动实现
- sklearn实现
Bagging
oob_score = True
- 特征抽取,
bootstrap_features = Truemax_features = 1
Random Forest
- 提取特征重要性

Extra - Forest
- 更随机
Boosting
AdaBoost
Gradient Boosting
代码文件:
优缺点和适用条件
Voting 方法
优点
- 少数服从多数,简单高效
- 降低方差,提高鲁棒性
缺点
- 软投票与硬投票结果可能不一致,一般能得到更好结果,但不一定代表更准确
- 所有子模型对预测结果贡献均等,子模型效果不能差别过大,要有较小的同质性,例如基于树模型和线性模型的投票,优于两个单纯的树模型或单纯的线性模型。
- 投票模型能预测清晰类别标签适合硬投票,有概率时候适合软投票
Bagging 方法
优点
- 减少方差
- 降低模型预测误差
缺点
- 增加了时间开销
- 需要模型具有多样性
- 并行计算需要较大计算资源
随机森林
优点
- 准确率高
- 不容易过拟合、抗噪能力强
- 能处理高维数据,不用做特征选择,不用做归一化,能处理离散数据也能处理连续数据
- 得到变量重要性排序
缺点
- 噪声较大时容易过拟合
- 取值划分较多的属性影响大
- 黑盒模型
Boosting 方法
优点
- 更加具有鲁棒性
- 减少偏差 bias
缺点
- 容易过拟合
Adaboost 方法
优点
- 二分类或多分类场景
- 能用各种回归分类模型构建弱分类器,灵活、简单、不容易过拟合
- 不用调参数,精度高
缺点
- 弱分类器数目不太好设定 - - - 可以使用交叉验证来进行确定
- 数据不平衡精度下降
- 相对来说对离群点敏感,容易被干扰,训练比较耗时
Stacking 方法
优点
- 效果好、鲁棒性高
- 能将集成的知识迁移到简单分类器上
- 能添加正则项有效对抗过拟合
- 不太需要过多条件和特征选择
缺点
- 二次学习更加复杂
- 不要有泄漏 leak 情况,对于训练样本中的每一条数据,即前一层模型的要输出结果时不能拿这个数据进行预测做下一层输出,否则会造成过拟合现象
- Author:空格
- URL:https://www.shipangshuo.xyz/article/Ensemble-Learning
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!









