精华内容
下载资源
问答
  • Note: If you use LightGBM in your GitHub projects, please add lightgbm in the requirements.txt. License This project is licensed under the terms of the MIT license. See LICENSE for additional details...
  • LightGBM

    2020-11-20 11:38:33
    <p>I identified ways to use LightGBM with many of your tools. Let me know if it is something you would like to incorporate into your package. Maybe we can house a tutorial on the repo AIX360 that can ...
  • Lightgbm

    2020-12-08 18:57:22
    <div><p>This PR adds LightGBM support to CoreML Tools, and supports both Classifiers (Binary and Multiclass) and Regressors.</p><p>该提问来源于开源项目:apple/coremltools</p></div>
  • lightGBM

    2020-05-12 12:05:37
    LightGBM 是一个梯度 boosting 框架,使用基于学习算法的决策树。它可以说是分布式的,高效的,它有以下优势: 更快的训练效率 低内存使用 更好的准确率 支持并行学习 可处理大规模数据 lightGBM特点 ...

    LightGBM 是一个梯度 boosting 框架,使用基于学习算法的决策树。它可以说是分布式的,高效的,它有以下优势:

    • 更快的训练效率

    • 低内存使用

    • 更好的准确率

    • 支持并行学习

    • 可处理大规模数据

    lightGBM特点

    以上与其说是xgboost的不足,倒不如说是lightGBM作者们构建新算法时着重瞄准的点。解决了什么问题,那么原来模型没解决就成了原模型的缺点。

    概括来说,lightGBM主要有以下特点:

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

    Histogram算法

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

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

    Level-wise过一次数据可以同时分裂同一层的叶子,容易进行多线程优化,也好控制模型复杂度,不容易过拟合。但实际上Level-wise是一种低效算法,因为它不加区分的对待同一层的叶子,带来了很多没必要的开销,因为实际上很多叶子的分裂增益较低,没必要进行搜索和分裂。

    Leaf-wise则是一种更为高效的策略:每次从当前所有叶子中,找到分裂增益最大的一个叶子,然后分裂,如此循环。因此同Level-wise相比,在分裂次数相同的情况下,Leaf-wise可以降低更多的误差,得到更好的精度。

    Leaf-wise的缺点:可能会长出比较深的决策树,产生过拟合。因此LightGBM在Leaf-wise之上增加了一个最大深度限制,在保证高效率的同时防止过拟合。

    lightGBM调参

    (1)num_leaves

    LightGBM使用的是leaf-wise的算法,因此在调节树的复杂程度时,使用的是num_leaves而不是max_depth。

    大致换算关系:num_leaves = 2^(max_depth)

    (2)样本分布非平衡数据集:可以param[‘is_unbalance’]=’true’

    (3)Bagging参数:bagging_fraction+bagging_freq(必须同时设置)、feature_fraction

    (4)min_data_in_leafmin_sum_hessian_in_leaf

    ## 01. train set and test set
    train_data = lgb.Dataset(dtrain[predictors],label=dtrain[target],feature_name=list(dtrain[predictors].columns), categorical_feature=dummies)
    
    test_data = lgb.Dataset(dtest[predictors],label=dtest[target],feature_name=list(dtest[predictors].columns), categorical_feature=dummies)
    
    ## 02. parameters
    param = {
        'max_depth':6,
        'num_leaves':64,
        'learning_rate':0.03,
        'scale_pos_weight':1,
        'num_threads':40,
        'objective':'binary',
        'bagging_fraction':0.7,
        'bagging_freq':1,
        'min_sum_hessian_in_leaf':100
    }
    
    param['is_unbalance']='true'
    param['metric'] = 'auc'
    
    ## 03. cv and train
    bst=lgb.cv(param,train_data, num_boost_round=1000, nfold=3, early_stopping_rounds=30)
    
    estimators = lgb.train(param,train_data,num_boost_round=len(bst['auc-mean']))
    
    ## 04. test predict
    ypred = estimators.predict(dtest[predictors])
    

    参考:https://github.com/tbwhsb88/LightGBM

    展开全文
  • lightgbm

    2019-10-23 23:53:30
    https://www.msra.cn/zh-cn/news/features/lightgbm-20170105

    https://www.msra.cn/zh-cn/news/features/lightgbm-20170105

    展开全文
  • LightGBM.jl:LightGBM.jl为Microsoft的LightGBM提供了高性能的Julia界面
  • LightGBM 中文文档 LightGBM 是一个梯度 boosting 框架, 使用基于学习算法的决策树. 它是分布式的, 高效的, 装逼的, 它具有以下优势: 速度和内存使用的优化 减少分割增益的计算量 通过直方图的相减来进行进一步的...

空空如也

空空如也

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

lightgbm