xgboost与gdbt区别比较

1.从本质上看
gbdt是机器学习算法的一种,xgboost是该算法的具体工程实现

2.基分类器
gbdt采用cart作为基分类器,而xgboost的基分类器可以是线性的

3.防止过拟合
xgboost在目标函数中显式的加入了正则化项来控制模型的复杂度

4.数据的使用
gbdt每轮迭代都使用全部数据,xgboost则可以对数据进行采用

5.对缺失值处理
XGBOOST可以自动学习出缺失值的分裂方向

6.列抽样
XGBOOST可以支持类似于随机森林的列抽样

7.模型训练
GBDT在训练模型时中使用了代价函数的一阶导数信息,而XGBOOST将代价函数进行了二次展开,使用了二阶导数的信息。

8.并行方式
两个模型从迭代上都不是并行的,因为同属于boosting,只能是串行的,但是从特征的粒度来看,xgboost可以实现并行。
决策树在确定最佳分割点时,需要对特征的值进行排序。XGBoost在训练之前,预先对数据进行了排序,然后保存为block(块)结构,后面的迭代中重复地使⽤这个结构,⼤大减小计算量。这个block结构也使得并行成为了可能,在进行节点的分裂时,需要计算每个特征的增益,最终选增益最大的那个特征去做分裂,那么各个特征的增益计算就可以开多线程进行。

以上都是本人通过各种方式学习后总结了两者的一些不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值