倚天遇到屠龙:LightGBM VS xgboost谁才是最强的梯度提升库?

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud



作者介绍:Laurae ,数据科学爱好者

Blog:https://medium.com/@Laurae2

背景知识:

XGBoost是一款经过优化的分布式梯度提升(Gradient Boosting)库,具有高效,灵活和高可移植性的特点。基于梯度提升框架,XGBoost实现了并行方式的决策树提升(Tree Boosting),从而能够快速准确地解决各种数据科学问题。

LightGBM(Light Gradient Boosting Machine)同样是一款基于决策树算法的分布式梯度提升框架。

这篇博客是关于LightGBM 和xgboost 的对比。实验使用了定制的博世数据集,结果显示,在速度上xgboost 比LightGBM在慢了10倍,而我们还需要做一些其它方面的比较。

总体介绍

首先让我们来看一下这个图表,所有人都应该打起精神!!!

 

从图上我们可以看到,平均来说,LightGBM 比xgboost 快11到15倍。

我们也注意到,随着线程数的增加,比率变小了。这也很容易解释,因为你不可能让线程的利用率是100%,线程的切入切出以及线程有时要等待,这都需要耗费很多时间。

1–12 个线程

我们来看一下前12个线程。

 

 

从表中,我们可以看到,当线程数超过6的时候xgboost的性能得到了很大的提升(当线程数是12的时候,消耗时长从577.9降低到414.3秒,大约提高了28.3%)。

对于LightGBM来说是否也是这样呢?时间从45.1降低到了33.6秒,性能提高大约25.5%。

小结:使用所有逻辑核心进行线程化,这能极大地提高性能。 如果你希望你的机器学习训练速度提高25%(显然,根据CPU的不同,情况也不完全一样),你现在知道该做什么:使用逻辑核心,而不是物理核心来创建线程。

13–24 个线程

那么13-24个线程又会怎么样呢?我们增加12个线程作为参照。

 

 

我们可以注意到:

  1. 对于xgboost来说并没有提升,数值的变化基本可以看成是误差
  2. 对于LightGBM来说反而耗时更长,从33.6秒提高到38秒以上

所以我们可以简单的下一个结论:不要过度分配逻辑内核,这不是一个好的做法。保持使用逻辑核心创建一定量的线程,并且不要超过该数。

LightGBM 一瞥

我们再来关注一下LightGBM的曲线。

 

从图上来看,这似乎是一个线性的改进:从202秒(使用1个核,1个线程),我们下降到33.6秒(6个全部使用的,12个线程),这是几乎100%的多线程的效率。 当我们用更多的线程时,多线程的效率急剧下降,使用的时间反而比一千场了。

数据存储器的效率

在创建矩阵后使用gc方法两次来快速查看RAM使用情况,具体情况如下:

 

 

  • 初始数据(密集,未使用):约8,769 MB(27.9%vs原始版本)
  • 原始数据(dgCMatrix):大约 2,448 MB(100%vs原始版本)
  • xgboost(xgb.DMatrix):大约 1,701 MB(69.5%vs原始版本)
  • LightGBM(lgb.Dataset):大约2,512 MB(102.6%vs原始版本)

看来LightGBM具有比xgboost更高的内存占用。

训练存储器的效率

我们使用12个线程来检查RAM效率,在50次boosting迭代结束时,在boosting之前使用gc,boosting之后不使用gc,效果如下:

xgboost:约 1684 MB

LightGBM: 1425 MB(xgboost内存使用量的84.6%)

我们可以注意到,LightGBM在训练期间的RAM使用率较低,但是内存中数据的RAM使用量增加。 所以R语言的LightGBM包有改进的潜能,以具有更有效的方式来存储数据。

下一个指标

当xgboost的快速直方图方法启动并在R语言中可用时,我们会使用新的指标。虽然它目前正在运行,但在R语言中不可用。这样一来xgboost和LightGBM孰优孰劣到时就会揭晓。

当然,未来我们也会比较xgboost和lightgbm之间的对数损失。

以上为译文

文章原标题《Benchmarking LightGBM: how fast is LightGBM vs xgboost?》,作者:Laurae,译者:爱小乖

文章为简译,更为详细的内容,请查看原文

时间: 2024-12-29 13:34:29

倚天遇到屠龙:LightGBM VS xgboost谁才是最强的梯度提升库?的相关文章

机器学习必备手册

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 请收下这份关于人工智能的根目录--博客整理系列(一) 关于数据科学的那些事--博客整理系列(二) 机器学习必备手册--博客整理系列(三) 扩展眼界的都在这--博客整理系列(四) 深度学习必备手册(上)--博客整理系列(五) 深度学习必备手册(下)--博客整理系列(六) 机器学习是计算机科学的一个子领域,在人工智能领域,机器学习逐渐发展成模式识别和计算科学理论的研究.从2016年起,机器学习到达了不合理的火热巅

XGBoost参数调优完全指南(附Python代码)

简介 如果你的预测模型表现得有些不尽如人意,那就用XGBoost吧.XGBoost算法现在已经成为很多数据工程师的重要武器.它是一种十分精致的算法,可以处理各种不规则的数据. 构造一个使用XGBoost的模型十分简单.但是,提高这个模型的表现就有些困难(至少我觉得十分纠结).这个算法使用了好几个参数.所以为了提高模型的表现,参数的调整十分必要.在解决实际问题的时候,有些问题是很难回答的--你需要调整哪些参数?这些参数要调到什么值,才能达到理想的输出? 这篇文章最适合刚刚接触XGBoost的人阅读

网络营销务必认清品牌效果只有用户参与才是推广王道

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 对于网络营销,网络上关于类似的文章也是非常的多.但是对于网络营销秀子有自己的想法.秀子认为对于网络营销不是单纯的关键字排名.说实在的,这个太狭隘了.如果你认为关键词排名就是网络营销.只能说对于网络推广你只懂的皮毛.或许有些人听了就很不高兴的说:"不做排名做什么?"是啊,网络推广不做排名做什么这个可以说是很多人的疑惑.秀子接

《你最有才》半决赛前晚举行15名才人新鲜出炉

"孔雀哥哥"被"踢"下去了:刘东立继续晋级,并直言很喜欢挑战他的"同类":魔术师刘路洋面对更强大的"金牌对手"时失去"魔力"--前晚,<你最有才>的踢馆赛中,6个半路杀出来踢馆的"程咬金"来头都不小.经过激烈角逐,"孔雀哥哥".刘路洋不敌对手,守擂失败.反串高手于潇童.魔法达人李苏阳换位替补,顺利进入半决赛. 至此,2009<你最有才>15强全

机器学习的入门“秘籍”

更多深度文章,请关注:https://yq.aliyun.com/cloud 由于人工智能的发展,机器学习越来越受到大家的追捧.很多新的计算机科学家和工程师开始跨入机器学习这个美好的世界.不幸的是,理论,算法,应用,论文,书籍,视频等的数量是如此之大,以至于无法清楚地了解到底那些才是他们想要/需要学习提高他/她的技能的知识. 在这篇文章中,我想分享一下我的经验,提出一条可行的途径,快速学习基本概念,并准备好深入讨论最复杂的话题.当然这只是个人建议:每个朋友都可以根据自己的经验,选择更多地关注一些

《大数据分析原理与实践》一一 3.1 回归分析

3.1 回归分析3.1.1 回归分析概述 1.回归分析的定义 回归分析方法是在众多的相关变量中,根据实际问题考察其中一个或多个变量(因变量)与其余变量(自变量)的依赖关系.如果只需考察一个变量与其余多个变量之间的相互依赖关系,我们称为多元回归问题.若要同时考察多个因变量与多个自变量之间的相互依赖关系,我们称为多因变量的多元回归问题.本小节重点讨论多元回归. 2.回归分析的数学模型 多元回归分析研究因变量Y与m个自变量x1,x2,-,xm的相关关系,而且总是假设因变量Y为随机变量,而x1,x2,-

Uber 机器学习平台 — 米开朗基罗

本文讲的是Uber 机器学习平台 - 米开朗基罗, 原文地址:MEET MICHELANGELO: UBER'S MACHINE LEARNING PLATFORM 原文作者:JEREMY HERMANN & MIKE DEL BALSO 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:lsvih 校对者:TobiasLee, xfffrank Uber 机器学习平台 - 米开朗基罗 Uber 工程师们一直致力于开发各种新技术,以让客户得到有效.无缝的

五个鲜为人知,但又不可不知的机器学习开源项目

借着人工智能的热潮,各种机器学习项目也迎来了一个爆发期.其中有一些因为背后的巨头支持或者稳定可靠的性能而广为人知,例如Tensorflow.Caffe和Theano等.但实际上,有为数更多的项目却并不为人所知.在这些相对小众的项目中,是否隐藏着一些版本迭代积极,且具有一定参考价值的项目?答案显然是肯定的. 本文将介绍的这五个小众项目来自不同的生态系统和编程语言,并且版本更新活跃,具有一定的参考价值.或许你会觉得了解这些小众的项目并没有太多实际意义,但本文的原作者Matthew Mayo,一位资深

游戏云游戏部署最佳实践之大掌门

用云,战江湖--<大掌门>在阿里云的武侠梦 萧峰.郭靖.小龙女,武林代有人才出:倚天.屠龙.打狗棒,强力武器克敌制胜:九阴真经.降龙十八掌.六脉神剑,神功绝招勇闯江湖.业界唯一斩获金庸全部作品授权的手游产品,<大掌门>一直坚持"第一武侠计划"的核心研发理,并荣获2012年度金翎奖十大最佳移动平台网络游戏. <大掌门>的开发团队玩蟹科技是一个非常年轻,有创新有活力的团队.玩蟹的一些数据情况,相信很多人都了解,现在的月收入是三千万以上,这是比较老的数据,