精华内容
下载资源
问答
  • LightGBM 的 MATLAB 包装器
  • LightGBM

    2020-08-21 11:30:45
    LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由2014年首届阿里巴巴大数据竞赛获胜者之一柯国霖老师带领开发。它是一款基于GBDT(梯度提升决策树)算法的分布式梯度提升框架,...

    1 LightGBM的介绍

    LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由2014年首届阿里巴巴大数据竞赛获胜者之一柯国霖老师带领开发。它是一款基于GBDT(梯度提升决策树)算法的分布式梯度提升框架,为了满足缩短模型计算时间的需求,LightGBM的设计思路主要集中在减小数据对内存与计算性能的使用,以及减少多机器并行计算时的通讯代价。
    LightGBM可以看作是XGBoost的升级豪华版,在获得与XGBoost近似精度的同时,又提供了更快的训练速度与更少的内存消耗。正如其名字中的Light所蕴含的那样,LightGBM在大规模数据集上跑起来更加优雅轻盈,一经推出便成为各种数据竞赛中刷榜夺冠的神兵利器。
    LightGBM的主要优点:

    1. 简单易用。提供了主流的Python\C++\R语言接口,用户可以轻松使用LightGBM建模并获得相当不错的效果;
    2. 高效可扩展。在处理大规模数据集时高效迅速、高准确度,对内存等硬件资源要求不高;
    3. 鲁棒性强。相较于深度学习模型不需要精细调参便能取得近似的效果;
    4. LightGBM直接支持缺失值与类别特征,无需对数据额外进行特殊处理。
      LightGBM的主要缺点:
    5. 相对于深度学习模型无法对时空位置建模,不能很好地捕获图像、语音、文本等高维数据;
    6. 在拥有海量训练数据,并能找到合适的深度学习模型时,深度学习的精度可以遥遥领先LightGBM。

    2 LightGBM的应用

    LightGBM在机器学习与数据挖掘领域有着极为广泛的应用。据统计LightGBM模型自2016到2019年在Kaggle平台上累积获得数据竞赛前三名三十余次,其中包括CIKM2017 AnalytiCup、IEEE Fraud Detection等知名竞赛。这些竞赛来源于各行各业的真实业务,这些竞赛成绩表明LightGBM具有很好的可扩展性,在各类不同问题上都可以取得非常好的效果。

    同时,LightGBM还被成功应用在工业界与学术界的各种问题中。例如金融风控、购买行为识别、交通流量预测、环境声音分类、基因分类、生物成分分析等诸多领域。虽然领域相关的数据分析和特性工程在这些解决方案中也发挥了重要作用,但学习者与实践者对LightGBM的一致选择表明了这一软件包的影响力与重要性。

    3 LightGBM的重要参数

    3.1 基本参数调整

    1. num_leaves参数 这是控制树模型复杂度的主要参数,一般的我们会使num_leaves小于(2的max_depth次方),以防止过拟合。由于LightGBM是leaf-wise建树与XGBoost的depth-wise建树方法不同,num_leaves比depth有更大的作用。、
    2. min_data_in_leaf 这是处理过拟合问题中一个非常重要的参数. 它的值取决于训练数据的样本个树和 num_leaves参数. 将其设置的较大可以避免生成一个过深的树, 但有可能导致欠拟合. 实际应用中, 对于大数据集, 设置其为几百或几千就足够了.
    3. max_depth 树的深度,depth 的概念在 leaf-wise 树中并没有多大作用, 因为并不存在一个从 leaves 到 depth 的合理映射。

    3.2 针对训练速度的参数调整

    1. 通过设置 bagging_fraction 和 bagging_freq 参数来使用 bagging 方法。
    2. 通过设置 feature_fraction 参数来使用特征的子抽样。
    3. 选择较小的 max_bin 参数。
    4. 使用 save_binary 在未来的学习过程对数据加载进行加速。

    3.3 针对准确率的参数调整

    1. 使用较大的 max_bin (学习速度可能变慢)
    2. 使用较小的 learning_rate 和较大的 num_iterations
    3. 使用较大的 num_leaves (可能导致过拟合)
    4. 使用更大的训练数据
    5. 尝试 dart 模式

    3.4 针对过拟合的参数调整

    1. 使用较小的 max_bin
    2. 使用较小的 num_leaves
    3. 使用 min_data_in_leaf 和 min_sum_hessian_in_leaf
    4. 通过设置 bagging_fraction 和 bagging_freq 来使用 bagging
    5. 通过设置 feature_fraction 来使用特征子抽样
    6. 使用更大的训练数据
    7. 使用 lambda_l1, lambda_l2 和 min_gain_to_split 来使用正则
    8. 尝试 max_depth 来避免生成过深的树

    4 LightGBM原理

    LightGBM底层实现了GBDT算法,并且添加了一系列的新特性

    1. 基于直方图算法进行优化,使数据存储更加方便、运算更快、鲁棒性强、模型更加稳定等。
    2. 提出了带深度限制的 Leaf-wise 算法,抛弃了大多数GBDT工具使用的按层生长 (level-wise) 的决策树生长策略,而使用了带有深度限制的按叶子生长策略,可以降低误差,得到更好的精度。
    3. 提出了单边梯度采样算法,排除大部分小梯度的样本,仅用剩下的样本计算信息增益,它是一种在减少数据量和保证精度上平衡的算法。
    4. 提出了互斥特征捆绑算法,高维度的数据往往是稀疏的,这种稀疏性启发我们设计一种无损的方法来减少特征的维度。通常被捆绑的特征都是互斥的(即特征不会同时为非零值,像one-hot),这样两个特征捆绑起来就不会丢失信息。

    LightGBM是基于CART树的集成模型,它的思想是串联多个决策树模型共同进行决策。
    在这里插入图片描述
    那么如何串联呢?LightGBM采用迭代预测误差的方法串联。举个通俗的例子,我们现在需要预测一辆车价值3000元。我们构建决策树1训练后预测为2600元,我们发现有400元的误差,那么决策树2的训练目标为400元,但决策树2的预测结果为350元,还存在50元的误差就交给第三棵树……以此类推,每一颗树用来估计之前所有树的误差,最后所有树预测结果的求和就是最终预测结果!
    LightGBM的基模型是CART回归树,它有两个特点:(1)CART树,是一颗二叉树。(2)回归树,最后拟合结果是连续值。
    LightGBM模型可以表示为以下形式,我们约定ft(x)表示前t颗树的和,ht(x)表示第t颗决策树,模型定义如下:
    在这里插入图片描述
    由于模型递归生成,第步的模型由第步的模型形成,可以写成:
    在这里插入图片描述
    每次需要加上的树是之前树求和的误差:
    在这里插入图片描述
    我们每一步只要拟合一颗输出为的CART树加到就可以了。

    展开全文
  • LightGBM安装教程

    万次阅读 多人点赞 2017-12-14 23:24:30
    LightGBM安装教程,使用教程

          介绍:

    LightGBM (Light Gradient Boosting Machine)(请点击 https://github.com/Microsoft/LightGBM)是一个实现 GBDT 算法的框架,支持高效率的并行训练,并且具有以下优点:

    1. 更快的训练速度
    2. 更低的内存消耗
    3. 更好的准确率
    4. 分布式支持,可以快速处理海量数据

      从 LightGBM 的 GitHub 主页上可以直接看到实验结果:

      从下图实验数据可以看出,在 Higgs 数据集上 LightGBM 比 XGBoost 快将近 10 倍,内存占用率大约为 XGBoost 的1/6,并且准确率也有提升。在其他数据集上也可以观察到相似的结论。

      训练速度方面

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      内存消耗方面

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      准确率方面

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星  ​

      (我们只和 xgboost 进行对比,因为 xgboost 号称比其他的 boosting 工具都要好,从他们的实验结果来看也是如此。) XGBoost 与其他方法在 Higgs-1M 数据的比较:

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      XGBoost 与其他方法在 Yahoo LTR 数据的比较:

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      看完这些惊人的实验结果以后,对下面两个问题产生了疑惑:

      Xgboost 已经十分完美了,为什么还要追求速度更快、内存使用更小的模型?

      对 GBDT 算法进行改进和提升的技术细节是什么?

      提出 LightGBM 的动机

      常用的机器学习算法,例如神经网络等算法,都可以以 mini-batch 的方式训练,训练数据的大小不会受到内存限制。

      而 GBDT 在每一次迭代的时候,都需要遍历整个训练数据多次。如果把整个训练数据装进内存则会限制训练数据的大小;如果不装进内存,反复地读写训练数据又会消耗非常大的时间。尤其面对工业级海量的数据,普通的 GBDT 算法是不能满足其需求的。

      LightGBM 提出的主要原因就是为了解决 GBDT 在海量数据遇到的问题,让 GBDT 可以更好更快地用于工业实践。

      改进的细节

      1. Xgboost 是如何工作的?

      目前已有的 GBDT 工具基本都是基于预排序的方法(pre-sorted)的决策树算法(如 xgboost)。这种构建决策树的算法基本思想是:

      首先,对所有特征都按照特征的数值进行预排序。

      其次,在遍历分割点的时候用O(#data)的代价找到一个特征上的最好分割点。

      最后,找到一个特征的分割点后,将数据分裂成左右子节点。

      这样的预排序算法的优点是能精确地找到分割点。

      缺点也很明显:

      首先,空间消耗大。这样的算法需要保存数据的特征值,还保存了特征排序的结果(例如排序后的索引,为了后续快速的计算分割点),这里需要消耗训练数据两倍的内存。

      其次,时间上也有较大的开销,在遍历每一个分割点的时候,都需要进行分裂增益的计算,消耗的代价大。

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

      2. LightGBM 在哪些地方进行了优化?

      基于 Histogram 的决策树算法带深度限制的 Leaf-wise 的叶子生长策略直方图做差加速直接支持类别特征(Categorical Feature) Cache 命中率优化基于直方图的稀疏特征优化多线程优化下面主要介绍 Histogram 算法、带深度限制的 Leaf-wise 的叶子生长策略和直方图做差加速。

      Histogram 算法

      直方图算法的基本思想是先把连续的浮点特征值离散化成k个整数,同时构造一个宽度为k的直方图。在遍历数据的时候,根据离散化后的值作为索引在直方图中累积统计量,当遍历一次数据后,直方图累积了需要的统计量,然后根据直方图的离散值,遍历寻找最优的分割点。

    直方图算法

      使用直方图算法有很多优点。首先,最明显就是内存消耗的降低,直方图算法不仅不需要额外存储预排序的结果,而且可以只保存特征离散化后的值,而这个值一般用 8 位整型存储就足够了,内存消耗可以降低为原来的1/8。

    内存占用优化为预排序算法的1/8

      然后在计算上的代价也大幅降低,预排序算法每遍历一个特征值就需要计算一次分裂的增益,而直方图算法只需要计算k次(k可以认为是常数),时间复杂度从O(#data*#feature)优化到O(k*#features)。

      当然,Histogram 算法并不是完美的。由于特征被离散化后,找到的并不是很精确的分割点,所以会对结果产生影响。但在不同的数据集上的结果表明,离散化的分割点对最终的精度影响并不是很大,甚至有时候会更好一点。原因是决策树本来就是弱模型,分割点是不是精确并不是太重要;较粗的分割点也有正则化的效果,可以有效地防止过拟合;即使单棵树的训练误差比精确分割的算法稍大,但在梯度提升(Gradient Boosting)的框架下没有太大的影响。

      带深度限制的 Leaf-wise 的叶子生长策略

      在 Histogram 算法之上,LightGBM 进行进一步的优化。首先它抛弃了大多数 GBDT 工具使用的按层生长 (level-wise) 的决策树生长策略,而使用了带有深度限制的按叶子生长 (leaf-wise) 算法。Level-wise 过一次数据可以同时分裂同一层的叶子,容易进行多线程优化,也好控制模型复杂度,不容易过拟合。但实际上 Level-wise 是一种低效的算法,因为它不加区分的对待同一层的叶子,带来了很多没必要的开销,因为实际上很多叶子的分裂增益较低,没必要进行搜索和分裂。

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      Leaf-wise 则是一种更为高效的策略,每次从当前所有叶子中,找到分裂增益最大的一个叶子,然后分裂,如此循环。因此同 Level-wise 相比,在分裂次数相同的情况下,Leaf-wise 可以降低更多的误差,得到更好的精度。Leaf-wise 的缺点是可能会长出比较深的决策树,产生过拟合。因此 LightGBM 在 Leaf-wise 之上增加了一个最大深度的限制,在保证高效率的同时防止过拟合。

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      直方图差加速

      LightGBM 另一个优化是 Histogram(直方图)做差加速。一个容易观察到的现象:一个叶子的直方图可以由它的父亲节点的直方图与它兄弟的直方图做差得到。通常构造直方图,需要遍历该叶子上的所有数据,但直方图做差仅需遍历直方图的k个桶。利用这个方法,LightGBM 可以在构造一个叶子的直方图后,可以用非常微小的代价得到它兄弟叶子的直方图,在速度上可以提升一倍。

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      直接支持类别特征

      实际上大多数机器学习工具都无法直接支持类别特征,一般需要把类别特征,转化到多维的0/1 特征,降低了空间和时间的效率。而类别特征的使用是在实践中很常用的。基于这个考虑,LightGBM 优化了对类别特征的支持,可以直接输入类别特征,不需要额外的0/1 展开。并在决策树算法上增加了类别特征的决策规则。在 Expo 数据集上的实验,相比0/1 展开的方法,训练速度可以加速 8 倍,并且精度一致。据我们所知,LightGBM 是第一个直接支持类别特征的 GBDT 工具。

      LightGBM 的单机版本还有很多其他细节上的优化,比如 cache 访问优化,多线程优化,稀疏特征优化等等,更多的细节可以查阅 Github Wiki (https://github.com/Microsoft/LightGBM/wiki)上的文档说明。优化汇总对比表:

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      在探寻了 LightGBM 的优化之后,发现 LightGBM 还具有支持高效并行的优点。LightGBM 原生支持并行学习,目前支持特征并行和数据并行的两种。特征并行的主要思想是在不同机器在不同的特征集合上分别寻找最优的分割点,然后在机器间同步最优的分割点。数据并行则是让不同的机器先在本地构造直方图,然后进行全局的合并,最后在合并的直方图上面寻找最优分割点。LightGBM 针对这两种并行方法都做了优化,在特征并行算法中,通过在本地保存全部数据避免对数据切分结果的通信;在数据并行中使用分散规约 (Reduce scatter) 把直方图合并的任务分摊到不同的机器,降低通信和计算,并利用直方图做差,进一步减少了一半的通信量。基于投票的数据并行则进一步优化数据并行中的通信代价,使通信代价变成常数级别。在数据量很大的时候,使用投票并行可以得到非常好的加速效果。更具体的内容可以看我们在 NIPS2016 的文章[1]。

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

    开源 LightGBM:三天内收获 GitHub <wbr>1000 <wbr> <wbr>星

      LightGBM 的工作还在持续进行,近期将会增加更多的新功能,如:

    • R, Julia 等语言支持(目前已原生支持 python,R语言正在开发中)
    • 更多平台(如 Hadoop 和 Spark)的支持
    • GPU 加速

      此外,LightGBM 开发人员呼吁大家在 Github 上对 LightGBM 贡献自己的代码和建议,一起让 LightGBM 变得更好。DMTK 也会继续开源更多优秀的机器学习工具,敬请期待。

     

          安装步骤:

     

         1、安装Anaconda3

         2、pip install lightgbm

         3、测试是否安装成功,importlightgbmaslgb

         4、由于经常用到sklearn中的库,特别是GridSearchCV,类似于fromxgboost.sklearnimportXGBRegressor

     我们要用到fromlightgbm.sklearnimportLGBMRegressor,

         5、estimator = LGBMRegressor(),报错:raise LightGBMError('Scikit-learn is required for this module')

     需要对Scikit-learn进行升级,

    pip install -U scikit-learn
    pip install -U pandas

     

    展开全文
  • 编译LightGBM git clone https://github.com/Microsoft/LightGBM cd LightGBM mkdir build cd build cmake -DCMAKE_GENERATOR_PLATFORM=x64 .. cmake --build . --target ALL_BUILD --config release 安装Pyt

    编译LightGBM

    git clone https://github.com/Microsoft/LightGBM

    cd LightGBM

    mkdir build

    cd build

    cmake -DCMAKE_GENERATOR_PLATFORM=x64 ..

    cmake --build . --target ALL_BUILD --config release


    安装Python开发包

    cd python-package

    python setup.py install


    展开全文
  • LightGBM是2017年初Microsoft开源的高效快速、分布式学习的梯度提升树算法,可以用于分类、回归和排序。相对比陈天奇开发的XGBoost算法,更加快速、内存消耗少。 将分几个部分来介绍: 监督学习基础 梯度提升树算法...

    LightGBM是2017年初Microsoft开源的高效快速、分布式学习的梯度提升树算法,可以用于分类、回归和排序。相对比陈天奇开发的XGBoost算法,更加快速、内存消耗少。
    将分几个部分来介绍:

    • 监督学习基础
    • 梯度提升树算法
    • LightGBM与Xgboost对比
    • 深入理解LightGBM的直方图算法及直方图作差加速
    • LightGBM的树生长方式——leaf-wise
    • LightGBM的参数说明及使用方法

    监督学习基础

    对监督学习来说,通过训练数据和标签学习一个模型,再用模型来预测未知类型的样本。

    • 训练数据

      D={(Xi,yi)}(D=n,XiRd,yiR)\mathcal D = \{(X_i,y_i)\} \quad (|\mathcal D|=n,X_i \in \R^d,y_i \in \R)

    • 模型 model

      线性模型:y^=jwjxij\hat{y}=\sum_jw_jx_{ij},其中 $x \in R^d $

    • 参数是 ww是每个特征对应的权重:Θ={wjj=1,2,...d}\Theta = \{w_j|j=1,2,...d\},参数是我们要在训练数据中学到的,也就是要求的未知量。

    • 损失函数(loss function)

      • 平方损失: l(yi,yi^)=(yiyi^)2l(y_i,\hat{y_i})=(y_i-\hat{y_i})^2

      • Logistic loss:l(yi,y^)=yiln(1+eyi^))+(1yi)ln(1+eyi^)l(y_i,\hat{y})=y_iln(1+e^{-\hat{y_i}}))+(1-y_i)ln(1+e^{\hat{y_i}}),实质上是通过sigmoid函数转化过来的。

    • 正则化

      • L2正则化:Ω(w)=λw2\Omega(w) = \lambda||w||^2
      • L1正则化:Ω(w)=λw1\Omega(w) = \lambda||w||_1

    对于监督学习,定义一个目标函数Obj是参数Θ\Theta的函数损失函数和正则化项的和,损失函数表示模型对训练数据的拟合程度,正则化项则表示模型的复杂程度:
    Obj(Θ)=L(Θ)+Ω(Θ) Obj(\Theta) = L(\Theta) + \Omega(\Theta)

    二、梯度提升树算法

    梯度提升树算法(Gradient Boosting Tree)是目前比较常用的一种算法,其实树基的算法应用比较广泛,比如随机森林、GBDT、xgboost、LightGBM、以及常用的异常检测算法Isolation Forest也是基于树的。
    对于集成回归树,定义模型,假设一共有K棵树:每棵树都属于回归树空间:
    yi^=k=1Kfk(xi),fkFwhereF={f(X)=wq(X)} \hat{y_i} = \sum_{k=1}^Kf_k(x_i), \quad f_k \in \mathcal{F} \\ where \quad \mathcal F= \{f(X)=w_{q(X)}\}
    参数是由两部分组成,一个是树结构(Tree structure)另一个是每个叶子节点的权重(预测值),这两个参数统一到用一个fkf_k表示,所以并不学习单独学习权重wjRdw_j \in R^d
    Θ={f1,f2,...,fK} \Theta = \{f_1,f_2,...,f_K \}
    再定义目标函数:
    Obj=i=1nl(yi,yi^)+k=1KΩ(fk) Obj = \sum_{i=1}^nl(y_i,\hat{y_i})+ \sum_{k=1}^K\Omega(f_k)
    接下来就是如果定义一棵树的复杂度了,我们知道决策树是启发式的,比如通过信息增益来进行分割(split by Information gain)、限制最大树深(max depth)、给决策树剪枝(Prune tree)及平滑叶节点(smooth leaf nodes),这些启发式的是可以对应训练目标的,以上四个分别对应:training loss、限制函数空间的大小、通过节点个数来正则化、L2正则化。所以可以借鉴决策树,来定义集成树的正则化项,最终也是使用叶节点个数和L2正则化两项来定义,当然也可以有其它的定义方法。

    目标函数我们已经有了,接下来是如何学习的问题,我们并没有使用SGD(LR模型的训练就是使用SGD的),这是由于参数是一个树模型,而不仅仅是一个向量。学习树的结构比传统的优化要难,传统的优化可以用梯度的方法。并且一下学习完所有的树是非常困难的。所以我们使用加法的方式,修正已经学习的结果,一次添加一个树。

    学习使用的方法是Additive Training,加法训练,也就所说的Boosting
    在这里插入图片描述

    对于Gain理论上是正值,如果是负值,说明损失减小量已经小于正则化项了,这个时候就stop early。

    实际中,在加法模型中:yi^(t)=yi^(t1)+ϵft(xi)\hat{y_i}^{(t)} = \hat{y_i}^{(t-1)} + \epsilon f_t(x_i),这个ϵ\epsilon就是step-size或shinkage,通常是0.1,每一步并不是完全优化,调小可以防止过拟合,也就是每次迭代只增加一点点。

    总结:

    • 在每次迭代时都增加一个新树

    • 在迭代前计算每个样本的gig_ihih_i这里有个问题是初始化的是yi^\hat{y_i}还是wiw_i??

    • 采用贪婪的方式生成一棵树

    展开全文
  • python机器学习案例系列教程——LightGBM算法

    万次阅读 多人点赞 2018-05-08 16:23:08
    安装pip install lightgbmgitup网址:https://github.com/Microsoft/LightGBM中文教程http://lightgbm.apachecn.org/cn/latest/index.htmllightGBM简介xgboost的出现,让数据民工们告别了传统的机器学习算法们:RF、...
  • import lightgbm as lgb from sklearn.datasets import load_breast_cancer,load_boston,load_wine from sklearn.model_selection import train_test_split from sklearn.preprocessing import Stan.
  • LightGBM C++接口(二)

    千次阅读 2018-06-24 10:05:02
    假设LightGBM.tz所在的目录为XXX cd XXX tar -xvf LightGBM.tz cd LightGBM mkdir build;cd build cmake -DOFFICIAL=1 .. sudo make install cmake -DOFFICIAL=1 意为编译官方版本,否则编译定制版本。 至此,已经...
  • lightGBM学习资料

    2017-10-24 12:20:05
    最近比较关注lightGBM,在网上各种搜索后找到的信息很杂乱,搞得自己也很迷糊。 不过有幸找到微软lightGBM开发团队的视频,在这里分享给大家,共同学习吧!lightgbm官方介绍视频
  • LightGBM算法详解(教你一文掌握LightGBM所有知识点)

    千次阅读 多人点赞 2020-03-10 19:28:11
    LigthGBM是boosting集合模型中的新进成员,由微软...LightGBM在很多方面会比XGBoost表现的更为优秀。它有以下优势: 更快的训练效率 低内存使用 更高的准确率 支持并行化学习 可处理大规模数据 支持直接使用catego...
  • Lightgbm C++接口使用(一)

    千次阅读 2018-06-14 23:45:31
    Lightgbm 是微软一款开源的随机森林学习库,该库 的牛逼之处就不用我们说明 啦。但是 目前网上关于Lightgbm的教程都是基于python或者R语言的,关于如何使用Lightgbm的C/C++接口却少有资料。刚好手上有个项目需要在线...
  • 通俗理解LightGBM算法

    千次阅读 2019-03-01 15:33:10
    什么是 LightGBM,如何实现它? 如何微调参数?
  • lightgbm原理

    2019-01-24 22:57:52
    本文介绍LightGBM,它是一款常用的GBDT工具包,由微软亚洲研究院(MSRA)进行开发,在Github上开源的三天内收获1000 star。其速度比XGBoost快,并且精度也相当的不错。 接下来看看其算法的内容。 注意其设计理念:...
  • LightGBM原理及调参

    千次阅读 2018-12-24 11:06:30
    LightGBM 是微软开发的一款快速、分布式、高性能的基于决策树的梯度 Boosting 框架。主要有以下优势: 更快的训练效率 低内存使用 更好的准确率 支持并行学习 可处理大规模数据 二、lightGBM优化 2.1、l...
  • lightGBM 与 Xgboost比较

    千次阅读 2018-05-27 11:52:01
    lightGBM 是微软开发的一个GBDM开源实现,其相比Xgboost有如下优势(摘自LightGBM官方网站) 1. 速度和内存使用的优化 LightGBM 利用基于 histogram 的算法,通过将连续特征(属性)值分段为 discrete bins ...
  • CTR预估 论文精读(二)--LightGBM

    千次阅读 2019-02-26 08:16:30
    在之前我介绍过XGBoost,这次想跟大家分享一下LightGBM,它是一款常用的GBDT工具包,由微软亚洲研究院(MSRA)进行开发LightGBM论文的标题为A Highly Efficient Gradient Boosting Decision Tree。这说明LightGBM...
  • 久前微软 DMTK (分布式机器学习工具包)团队在 GitHub 上开源了性能超越其他 boosting 工具的 LightGBM 知乎上有近千人关注“如何看待微软开源的 LightGBM?”问题,被评价为“速度惊人”,“非常有启发”,“支持...
  • 微软分布式高性能GB框架LightGBM
  • LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由2014年首届阿里巴巴大数据竞赛获胜者之一柯国霖老师带领开发。它是一款基于GBDT(梯度提升决策树)算法的分布式梯度提升框架,...
  • 正式版 pip install gbdt 正式版 ...pip install lightgbm 开发版 pip install git+https://github.com/yarny/gbdt.git 开发版 git clone --recursive https://github.com/dmlc/xgboost cd xgbo...
  • MAC平台安装lightgbm遇到的各种坑

    千次阅读 2018-05-19 16:00:26
    本来想着lightgbm跟其他Python第三方库一样,pip install 就行了,没想到Lightgbm没有这么简单。 首先还是看官方教程吧,主要也是按照官方教程上安装的 lightgbm安装教程 然后,我是按照MPI版本安装的,MAC平台上...
  • LightGBM或Light Gradient Boosting Machine是基于决策树算法的高性能,开源渐变增强框架。 与其他增强框架相比,LightGBM在速度,效率和准确性方面具有多个优势。 并行实验表明,LightGBM可以通过多台机器实现线性...
  • LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由2014年首届阿里巴巴大数据竞赛获胜者之一柯国霖老师带领开发。它是一款基于GBDT(梯度提升决策树)算法的分布式梯度提升框架,...
  • LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由2014年首届阿里巴巴大数据竞赛获胜者之一柯国霖老师带领开发。它是一款基于GBDT(梯度提升决策树)算法的分布式梯度提升框架,...
  • LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由2014年首届阿里巴巴大数据竞赛获胜者之一柯国霖老师带领开发。它是一款基于GBDT(梯度提升决策树)算法的分布式梯度提升框架,...
  • 在用Lightgbm.LGBMClassifier训练生成模型时,Scikit-learn 官网上建议的两种方式:1.pickle方式这里我写了保存和加载两种方式:import pickle def pkl_save(filename,file): output = open(filename, 'wb') ...
  • LightGBM官方中文文档上线啦!

    万次阅读 多人点赞 2018-01-04 16:49:23
    走过路过的大佬请点个star让我以后好装逼,谢谢各位了,Orz主页地址:http://lightgbm.apachecn.org/cn/latest/index.htmlGithub:https://github.com/apachecn/lightgbm-doc-zh请点进Github帮忙点个star,
  • 原文:LightGBM – A fast, distributed, gradient boosting framework 作者:微软 翻译:赖信涛 责编:仲培艺 LightGBM是一个轻量级的GB框架,基于决策树的学习算法,支持分布式。具有以下优点: 快速的学习效率 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,160
精华内容 464
关键字:

lightgbm是开发的