xgboost 与 lgbm

相关性分析模型可行性报告

基于数值的模型-xgboost

简介

XGBoost是一个优化的分布式梯度提升库,旨在高效,灵活和便携。它在梯度提升框架下实现机器学习算法。XGBoost提供了一个并行树提升(也称为GBDT,GBM),可以快速准确地解决许多数据科学问题。

XGBoost 文档 — xgboost 1.6.1 文档

GBDT梯度提升树

GBDT算法是一种非常常用的Boosting算法(一种集成学习模型,将弱学习器不断调整权重,提升为强学习器),GBDT算法将损失函数的负梯度作为残差的近似值,不断使用残差迭代和拟合回归树,最终生成强学习器。

核心思想

XGBoost算法在某种程度上可以说是GBDT算法的改良版,两者在本质上都是利用了Boosting算法中拟合残差的思想。如下图所示,首先建立一棵初始决策树,其中初始决策树的预测结果不完全准确,会产生一些残差,因此会用新的决策树来拟合该残差,新的决策树又会产生新的残差,这是再构建新的决策树来拟合新的残差······如此迭代下去,直至符合预先设定的条件为止。

 

主要优缺点

优点:简单易用、在处理大规模数据集时速度快效果好,对内存等硬件资源要求不高,鲁棒性强、可以自动填充缺失值

缺点:只能处理连续性数数值

处理为数值型

将离散型特征编码为1,2,3···

编码方式解释如下:

例如:特征CPU的取值为i3,i5,i7,i9···

编码前编码后
i31
i52
i73
i94
i94
i73
i31

基于标签的模型-lightgbm

简介

lightgbm算法由微软公司开发,它和xgboost算法一样是对GBDT算法的高效实现,原理上与xgboost算法类似,但树的生长过程不一样,xgboost的生长是level-wise的,即一层一层生长的,而lightgbm是leaf-wise即梯度优先的,同时lightgbm使用直方图算法,先对特征值进行装箱处理,形成一个一个的bins。对于连续特征来说,装箱处理就是特征工程中的离散化:如[0,0.3)—>0,[0.3,0.7)—->1等。在Lightgbm中默认的#bins为256(1个字节的能表示的长度,可以设置)。对于分类特征来说,则是每一种取值放入一个bin,且当取值的个数大于max bin数时,会忽略那些很少出现的category值。

主要优缺点

优点:训练效率更高,低内存使用,准确率更高,支持并行化学习,可以处理大规模数据,适合离散类数据

缺点:会对连续值特征进行装箱处理,造成精度丢失。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值