集成学习

Natalie ·
更新时间:2024-09-21
· 931 次阅读

1.集成学习简介 一个牛逼的算法和10个简单的算法比,后者更好一点。 所以在解决过拟合和欠拟合问题的时候,使用boosting 和bagging 的方法。 欠拟合问题解决:弱弱组合变强 boosting 过拟合问题解决:相互牵制变壮 bagging 2. Bagging bagging集成过程 采样:从所有样本中又放回的采样一部分特征 学习:训练弱n个学习器 集成:平权投票n 个若学习器 随机森林 定义:随机森林 = Bagging + 决策树 流程
在所有样本里选m个数据
在m个数据里选k个特征
训练n 个弱决策树
重复上三条
平权投票
注意:有放回的取出数据。选取的特征远小于所有特征。 API
from sklearn.ensemble import RandomForestClassifier(n_estimators=10, criterion=’gini’, max_depth=None, bootstrap=True, random_state=None, min_samples_split=2)
n_estimators:integer,optional(default = 10)森林里的树木数量120,200,300,500,800,1200
Criterion:string,可选(default =“gini”)分割特征的测量方法
max_depth:integer或None,可选(默认=无)树的最大深度 5,8,15,25,30
max_features="auto”,每个决策树的最大特征数量
If “auto”, then max_features=sqrt(n_features).
If “sqrt”, then max_features=sqrt(n_features)(same as “auto”).
If “log2”, then max_features=log2(n_features).
If None, then max_features=n_features.
bootstrap:boolean,optional(default = True)是否在构建树时使用放回抽样
min_samples_split:节点划分最少样本数
min_samples_leaf:叶子节点的最小样本数
超参数:n_estimator, max_depth, min_samples_split,min_samples_leaf 随机森林的优缺点 Bagging + 决策树/线性回归/逻辑回归/深度学习… = bagging集成学习方法
经过上面方式组成的集成学习方法:
均可在原有算法上提高约2%左右的泛化正确率
简单, 方便, 通用 Boosting 集成原理
多个学习器,随着学习的积累由弱到强 实现过程 初始化训练数据权重,初始权重相等 通过第一个学习器,计算错误率 通过错误率计算学习器对各个训练数据的投票权重 对训练数据根据投票权重重新赋权 重复1-4 对最后的学习器甲醛 Bagging与Boosting 的区别 数据方面:
bagging:对数据有放回的重新采样
boosting:对数据进行权重调整 权重方面:
bagging:平权
boosting:加权 学习顺序:
bagging:并行
boosting:串行 主要作用:
bagging:防止过拟合
boosting:防止欠拟合 GBDT 梯度提升决策树(GBDT Gradient Boosting Decision Tree) 是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。 GBDT = 梯度下降 + Boosting + 决策树
作者:weixin_34073041



集成学习 学习

需要 登录 后方可回复, 如果你还没有账号请 注册新账号