37、机器学习中的集成学习与特征工程

机器学习中的集成学习与特征工程

一、集成学习之提升算法

1.1 提升算法概述

提升算法(Boosting)是一种令人惊叹的技术。即使在训练性能达到完美之后,它仍能持续提高测试性能,就像是在不断迭代的过程中平滑掉不必要的波动。通常认为装袋法(Bagging)可以减少方差,而提升算法可以减少偏差,但对于提升算法是否能减少方差,存在较少的共识。有报告指出,装袋法对于不稳定(高方差)的方法(如决策树)最为有用。

1.2 AdaBoost与梯度提升

我们讨论的提升算法形式是AdaBoost(自适应提升)。在AdaBoost之前的原始提升算法非常理论化,在许多场景中不实用。AdaBoost解决了这些问题,后续研究将AdaBoost与具有指数损失的模型拟合联系起来。通过替换其他损失函数,可以得到适用于不同类型数据的提升方法,例如梯度提升允许我们替换不同的损失函数,从而得到不同的提升学习器,如提升逻辑回归。

1.3 xgboost算法

除了sklearn中的实现,还有其他的提升算法实现,其中xgboost(极端梯度提升)是最新的。它使用一种优化策略,在计算组件模型的权重时能产生更好的权重,并且使用的组件模型稍复杂一些。结合更好的加权和更复杂的组件模型,xgboost在Kaggle上受到了狂热的追捧。

以下是一个简单的xgboost代码示例:

# conda install py-xgboost
import xgboost
# gives us xgboost.XGBRegressor, xgboost.XGBClassif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值