lightgbm 保存模型 过大_LightGBM、XGBoost对比及存在哪些优势

本帖最后由 desehawk 于 2018-4-13 16:59 编辑

问题导读

1.什么是LightGBM?

2.XGBoost存在什么问题?

3.LightGBM存在哪些优势?

引  言

如果你是一个机器学习社区的活跃成员,你一定知道 **提升机器**(Boosting Machine)以及它们的能力。提升机器从AdaBoost发展到目前最流行的XGBoost。XGBoost实际上已经成为赢得在Kaggle比赛中公认的算法。这很简单,因为他极其强大。但是,如果数据量极其的大,XGBoost也需要花费很长的时间去训练。

绝大多数人可能对 Light Gradient Boosting 不熟悉,但是读完本文后你就会对他们很熟悉。一个很自然的问题将进入你的思索:为什么又会出现另一个提升机器算法?它比XGBoost要好吗?

注意:本文假设读者已经对 GBMs 和 XGBoost 算法有一定的了解。如果你不了解他们,请先了解一下他们的原理再来学习本文。

什么是LightGBM

LightGBM是个快速的、分布式的、高性能的基于决策树算法的梯度提升框架。可用于排序、分类、回归以及很多其他的机器学习任务中。

因为他是基于决策树算法的,它采用最优的leaf-wise策略分裂叶子节点,然而其它的提升算法分裂树一般采用的是depth-wise或者level-wise而不是leaf-wise。因此,在LightGBM算法中,当增长到相同的叶子节点,leaf-wise算法比level-wise算法减少更多的loss。因此导致更高的精度,而其他的任何已存在的提升算法都不能够达。与此同时,它的速度也让人感到震惊,这就是该算法名字Light 的原因。

前文是一个由LightGBM算法作者的概要式的描述来简要地解释LightGBM的不同之处。

XGBoost中决策树的增长方式示意图

1.png (59.86 KB, 下载次数: 12)

2018-4-13 16:49 上传LightGBM中决策树的增长方式示意图

2.png (60.67 KB, 下载次数: 13)

2018-4-13 16:49 上传

Leaf-Wise分裂导致复杂性的增加并且可能导致过拟合。但是这是可以通过设置另一个参数 **max-depth** 来克服,它分裂产生的树的最大深度。

接下来我们将介绍安装LightGBM的步骤使用它来跑一个模型。我们将对比LightGBM和XGBoost的实验结果来证明你应该使用LightGBM在一种轻轻的方式(Light Manner)。

LightGBM的优势

首先让我们看一看LightGBM的优势。更快的训练速度和更高的效率:LightGBM使用基于直方图的算法。例如,它将连续的特征值分桶(buckets)装进离散的箱子(bins),这是的训练过程中变得更快。

更低的内存占用:使用离散的箱子(bins)保存并替换连续值导致更少的内存占用。

更高的准确率(相比于其他任何提升算法) :它通过leaf-wise分裂方法产生比level-wise分裂方法更复杂的树,这就是实现更高准确率的主要因素。然而,它有时候或导致过拟合,但是我们可以通过设置 **max-depth** 参数来防止过拟合的发生。

大数据处理能力:相比于XGBoost,由于它在训练时间上的缩减,它同样能够具有处理大数据的能力。

支持并行学习

安装LightGBM

本节介绍如何在各种操作系统下安装LightGBM。众所周知,桌面系统目前使用最多的就是Windows、Linux和macOS,因此,就依次介绍如何在这三种操作系统下安装LightGBM。

1.Windows

对于Windows操作系统,由于其并非开源操作系统,因此一直以来Windows系统对开发者来说并不友好。我们需要安装相应的编译环境才能对LightGBM源代码进行编译。对于Windows下的底层C/C++编译环境,目前主要有微软自己的Visual Studio(或者MSBuild)或者开源的MinGW64,下面我们依次介绍这两种编译环境下的LightGBM的安装。

注意,对于以下两种编译环境,我们都共同需要确保系统已经安装Windows下的Git和CMake工具。1、基于Visual Studio(MSBuild)环境

[mw_shl_code=bash,true]git clone --recursive https://github.com/Microsoft/LightGBM

cd LightGBM

mkdir build

cd build

cmake -DCMAKE_GENERATOR_PLATFORM=x64 ..

cmake --build . --target ALL_BUILD --config Release[/mw_shl_co

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值