LightGBM是一个使用基于树的学习算法的梯度提升框架。它设计为分布式且高效,具有以下优势:
- 更快的培训速度和更高的效率
- 降低内存使用率
- 更高的精确度
- 支持并行、分布式和GPU学习
- 能够处理大规模数据
有关更多详情,请参阅Features
得益于这些优势,LightGBM在许多领域得到了广泛的应用winning solutions机器学习竞赛的
Comparison experiments公开数据集上的数据显示,LightGBM在效率和准确性上都优于现有的Boosting框架,并且内存消耗明显较低。更重要的是,distributed learning experiments展示了LightGBM可以通过在特定设置中使用多台机器进行训练来实现线性加速
入门和文档
我们的主要文档在https://lightgbm.readthedocs.io/并且是从该存储库生成的。如果您是LightGBM的新手,请关注the installation instructions在那个网站上
接下来,您可能想要阅读:
- Examples显示常见任务的命令行用法
- Features和LightGBM支持的算法
- Parameters是您可以进行的自定义的详尽列表
- Distributed Learning和GPU Learning可以加快计算速度
- Laurae++ interactive documentation是有关超参数的详细指南。
- FLAML自动调整LightGBM(code examples)
- Optuna Hyperparameter Tuner提供对LightGBM超参数的自动调整(code examples)
投稿人文档:
新闻
请参阅更改日志,地址为GitHub releases页面
一些旧的更新日志位于Key Events页面
外部(非官方)存储库
FLAML(用于超参数优化的AutoML库):https://github.com/microsoft/FLAML
Optuna(超参数优化框架):https://github.com/optuna/optuna
朱莉娅-套餐:https://github.com/IQVIA-ML/LightGBM.jl
JPMML(Java PMML转换器):https://github.com/jpmml/jpmml-lightgbm
Treite(用于高效部署的模型编译器):https://github.com/dmlc/treelite
lLeaf(基于LLVM的模型编译器,用于高效推理):https://github.com/siboehm/lleaves
Hummingbird(将模型编译器转换为张量计算):https://github.com/microsoft/hummingbird
CuML林推理库(GPU加速推理):https://github.com/rapidsai/cuml
daal4py(英特尔CPU加速推理):https://github.com/IntelPython/daal4py
m2cgen(适用于各种语言的模型应用程序):https://github.com/BayesWitnesses/m2cgen
树叶(GO模型施加器):https://github.com/dmitryikh/leaves
ONNXMLTools(ONNX转换器):https://github.com/onnx/onnxmltools
Shap(模型输出解释器):https://github.com/slundberg/shap
Shapash(模型可视化和解释):https://github.com/MAIF/shapash
dtreeviz(决策树可视化和模型解释):https://github.com/parrt/dtreeviz
MMLSpark(电光上的LightGBM):https://github.com/Azure/mmlspark
Kubeflow光顺(Kubernetes上的LightGBM):https://github.com/kubeflow/fairing
Kubeflow运算符(Kubernetes上的LightGBM):https://github.com/kubeflow/xgboost-operator
ML.NET(.NET/C#-Package):https://github.com/dotnet/machinelearning
LightGBM.NET(.NET/C#-Package):https://github.com/rca22/LightGBM.Net
红宝石:https://github.com/ankane/lightgbm
LightGBM4j(Java高级绑定):https://github.com/metarank/lightgbm4j
lightgbm-rs(铁锈装订):https://github.com/vaaaaanquish/lightgbm-rs
MLflow(实验跟踪、模型监控框架):https://github.com/mlflow/mlflow
{treesnip}
(r{parsnip}
-兼容接口):https://github.com/curso-r/treesnip
{mlr3learners.lightgbm}
(r{mlr3}
-兼容接口):https://github.com/mlr3learners/mlr3learners.lightgbm
支持
- 问一个问题on Stack Overflow with the
lightgbm
tag,我们关注这一点,以发现新的问题 - 打开错误报告和功能请求(不是问题)上GitHub issues
如何做出贡献
检查CONTRIBUTING页面
Microsoft开放源代码行为准则
本项目采用了Microsoft Open Source Code of Conduct有关更多信息,请参阅Code of Conduct FAQ或联系方式opencode@microsoft.com如有任何其他问题或评论
参考文献
柯国林,齐蒙,托马斯·芬利,王泰峰,魏晨,马卫东,叶启伟,刘铁岩。“LightGBM: A Highly Efficient Gradient Boosting Decision Tree“神经信息处理系统的进展”(NIPS 2017),第3149-3157页。
齐蒙,柯国林,王泰峰,魏晨,叶启伟,马志明,刘铁岩。“A Communication-Efficient Parallel Algorithm for Decision Tree“神经信息处理系统的进展”29(NIPS 2016),第1279-1287页
张欢,四思,谢楚瑞。“GPU Acceleration for Large-scale Tree Boosting“.SysML大会,2018年
注意事项:如果您在GitHub项目中使用LightGBM,请添加lightgbm
在requirements.txt
许可证
这个项目是根据麻省理工学院的许可证条款授权的。看见LICENSE有关更多详细信息,请参阅