Xgboost和lightgbm的区别

https://www.cnblogs.com/mata123/p/7440774.html

https://www.cnblogs.com/infaraway/p/7890558.html

Xgboost缺点:

1、        在每次迭代的时候都要遍历整个训练数据多次,如果把整个训练数据装进内存则会限制训练数据的大小;如果不装进内存,反复地读写训练数据又会消耗非常大的时间

2、        预排序方法空间消耗大

因为xgboost采用的是基于特征的并行计算,所以在每次计算之前,都要对特征进行排序。这样的算法需要保存数据的特征值,还保存了特征排序的结果(例如排序后的索引,为了后续快速的计算分割点)。这里需要消耗训练数据两倍的内存

3、        时间消耗大,在遍历每个分割点的时候,都需要进行分裂增益的计算,消耗的时间代价大

4、        cache优化不友好,在预排序后,特征对梯度的访问是一种随机访问,并且不同的特征访问的顺序不一样,无法对cache进行优化。同时,在每一层长树的时候,需要随机访问一个行索引到叶子索引的数组,并且不同特征访问的顺序也不一样,也会造成较大的cache miss.

LightGBM的优点

1、        基于Histogram的决策树算法

2、        带深层限制的Leaf-wise的叶子生长策略

3、        直方图做差加速

4、        直接支持类别特征(categorical Feature

5、        Cache命中率优化

6、        基于直方图的稀疏特征优化

7、        多线程优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值