2020-08-23 12:03:57 +03:00
< img src = https://github.com/microsoft/LightGBM/blob/master/docs/logo/LightGBM_logo_black_text.svg width = 300 / >
2020-08-20 02:28:26 +03:00
Light Gradient Boosting Machine
===============================
2017-07-13 11:29:45 +03:00
2024-07-25 15:56:56 +03:00
[![Python-package GitHub Actions Build Status ](https://github.com/microsoft/LightGBM/actions/workflows/python_package.yml/badge.svg?branch=master )](https://github.com/microsoft/LightGBM/actions/workflows/python_package.yml)
[![R-package GitHub Actions Build Status ](https://github.com/microsoft/LightGBM/actions/workflows/r_package.yml/badge.svg?branch=master )](https://github.com/microsoft/LightGBM/actions/workflows/r_package.yml)
[![CUDA Version GitHub Actions Build Status ](https://github.com/microsoft/LightGBM/actions/workflows/cuda.yml/badge.svg?branch=master )](https://github.com/microsoft/LightGBM/actions/workflows/cuda.yml)
[![Static Analysis GitHub Actions Build Status ](https://github.com/microsoft/LightGBM/actions/workflows/static_analysis.yml/badge.svg?branch=master )](https://github.com/microsoft/LightGBM/actions/workflows/static_analysis.yml)
2018-09-12 03:30:00 +03:00
[![Azure Pipelines Build Status ](https://lightgbm-ci.visualstudio.com/lightgbm-ci/_apis/build/status/Microsoft.LightGBM?branchName=master )](https://lightgbm-ci.visualstudio.com/lightgbm-ci/_build/latest?definitionId=1)
2018-07-13 03:29:01 +03:00
[![Appveyor Build Status ](https://ci.appveyor.com/api/projects/status/1ys5ot401m0fep6l/branch/master?svg=true )](https://ci.appveyor.com/project/guolinke/lightgbm/branch/master)
2017-08-24 18:07:21 +03:00
[![Documentation Status ](https://readthedocs.org/projects/lightgbm/badge/?version=latest )](https://lightgbm.readthedocs.io/)
2024-07-25 02:28:08 +03:00
[![Link checks ](https://github.com/microsoft/LightGBM/actions/workflows/linkchecker.yml/badge.svg?branch=master )](https://github.com/microsoft/LightGBM/actions/workflows/linkchecker.yml)
2019-10-15 22:10:16 +03:00
[![License ](https://img.shields.io/github/license/microsoft/lightgbm.svg )](https://github.com/microsoft/LightGBM/blob/master/LICENSE)
[![Python Versions ](https://img.shields.io/pypi/pyversions/lightgbm.svg?logo=python&logoColor=white )](https://pypi.org/project/lightgbm)
[![PyPI Version ](https://img.shields.io/pypi/v/lightgbm.svg?logo=pypi&logoColor=white )](https://pypi.org/project/lightgbm)
2024-07-30 00:38:17 +03:00
[![conda Version ](https://img.shields.io/conda/vn/conda-forge/lightgbm?logo=conda-forge&logoColor=white&label=conda )](https://anaconda.org/conda-forge/lightgbm)
2020-11-30 03:52:38 +03:00
[![CRAN Version ](https://www.r-pkg.org/badges/version/lightgbm )](https://cran.r-project.org/package=lightgbm)
2024-07-19 05:13:30 +03:00
[![NuGet Version ](https://img.shields.io/nuget/v/lightgbm?logo=nuget&logoColor=white )](https://www.nuget.org/packages/LightGBM)
2016-08-05 09:06:01 +03:00
2016-11-03 16:12:30 +03:00
LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed and efficient with the following advantages:
2016-08-05 09:06:01 +03:00
2018-10-03 17:42:01 +03:00
- Faster training speed and higher efficiency.
- Lower memory usage.
- Better accuracy.
2021-02-19 18:47:30 +03:00
- Support of parallel, distributed, and GPU learning.
2018-10-03 17:42:01 +03:00
- Capable of handling large-scale data.
2016-08-05 09:06:01 +03:00
2019-05-08 08:51:28 +03:00
For further details, please refer to [Features ](https://github.com/microsoft/LightGBM/blob/master/docs/Features.rst ).
2016-08-05 09:06:01 +03:00
2021-05-04 18:10:55 +03:00
Benefiting from these advantages, LightGBM is being widely-used in many [winning solutions ](https://github.com/microsoft/LightGBM/blob/master/examples/README.md#machine-learning-challenge-winning-solutions ) of machine learning competitions.
2018-10-25 23:28:05 +03:00
2021-02-19 18:47:30 +03:00
[Comparison experiments ](https://github.com/microsoft/LightGBM/blob/master/docs/Experiments.rst#comparison-experiment ) on public datasets show that LightGBM can outperform existing boosting frameworks on both efficiency and accuracy, with significantly lower memory consumption. What's more, [distributed learning experiments ](https://github.com/microsoft/LightGBM/blob/master/docs/Experiments.rst#parallel-experiment ) show that LightGBM can achieve a linear speed-up by using multiple machines for training in specific settings.
2016-10-09 09:59:09 +03:00
2019-05-26 14:55:51 +03:00
Get Started and Documentation
-----------------------------
2019-06-17 11:15:01 +03:00
Our primary documentation is at https://lightgbm.readthedocs.io/ and is generated from this repository. If you are new to LightGBM, follow [the installation instructions ](https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html ) on that site.
2019-05-26 14:55:51 +03:00
Next you may want to read:
2020-03-03 19:31:40 +03:00
- [**Examples** ](https://github.com/microsoft/LightGBM/tree/master/examples ) showing command line usage of common tasks.
- [**Features** ](https://github.com/microsoft/LightGBM/blob/master/docs/Features.rst ) and algorithms supported by LightGBM.
- [**Parameters** ](https://github.com/microsoft/LightGBM/blob/master/docs/Parameters.rst ) is an exhaustive list of customization you can make.
2021-02-19 18:47:30 +03:00
- [**Distributed Learning** ](https://github.com/microsoft/LightGBM/blob/master/docs/Parallel-Learning-Guide.rst ) and [**GPU Learning** ](https://github.com/microsoft/LightGBM/blob/master/docs/GPU-Tutorial.rst ) can speed up computation.
2021-12-18 01:29:47 +03:00
- [**FLAML** ](https://www.microsoft.com/en-us/research/project/fast-and-lightweight-automl-for-large-scale-data/articles/flaml-a-fast-and-lightweight-automl-library/ ) provides automated tuning for LightGBM ([code examples](https://microsoft.github.io/FLAML/docs/Examples/AutoML-for-LightGBM/)).
2022-10-07 16:21:16 +03:00
- [**Optuna Hyperparameter Tuner** ](https://medium.com/optuna/lightgbm-tuner-new-optuna-integration-for-hyperparameter-optimization-8b7095e99258 ) provides automated tuning for LightGBM hyperparameters ([code examples](https://github.com/optuna/optuna-examples/blob/main/lightgbm/lightgbm_tuner_simple.py)).
2021-08-22 01:20:55 +03:00
- [**Understanding LightGBM Parameters (and How to Tune Them using Neptune)** ](https://neptune.ai/blog/lightgbm-parameters-guide ).
2019-05-26 14:55:51 +03:00
Documentation for contributors:
2020-03-03 19:31:40 +03:00
- [**How we update readthedocs.io** ](https://github.com/microsoft/LightGBM/blob/master/docs/README.rst ).
- Check out the [**Development Guide** ](https://github.com/microsoft/LightGBM/blob/master/docs/Development-Guide.rst ).
2019-05-26 14:55:51 +03:00
2016-12-02 09:32:36 +03:00
News
----
2017-09-01 05:20:26 +03:00
2019-11-04 17:06:33 +03:00
Please refer to changelogs at [GitHub releases ](https://github.com/microsoft/LightGBM/releases ) page.
2017-04-10 05:46:28 +03:00
2018-08-13 12:03:49 +03:00
External (Unofficial) Repositories
2017-05-15 08:15:26 +03:00
----------------------------------
2017-04-07 19:14:17 +03:00
2023-01-31 08:25:42 +03:00
Projects listed here offer alternative ways to use LightGBM.
They are not maintained or officially endorsed by the `LightGBM` development team.
2018-11-22 00:59:44 +03:00
JPMML (Java PMML converter): https://github.com/jpmml/jpmml-lightgbm
2022-02-11 04:16:29 +03:00
Nyoka (Python PMML converter): https://github.com/SoftwareAG/nyoka
2018-11-22 00:59:44 +03:00
Treelite (model compiler for efficient deployment): https://github.com/dmlc/treelite
2021-07-04 06:48:00 +03:00
lleaves (LLVM-based model compiler for efficient inference): https://github.com/siboehm/lleaves
2021-03-23 14:48:44 +03:00
Hummingbird (model compiler into tensor computations): https://github.com/microsoft/hummingbird
2019-12-18 00:45:14 +03:00
cuML Forest Inference Library (GPU-accelerated inference): https://github.com/rapidsai/cuml
2021-08-19 06:51:56 +03:00
daal4py (Intel CPU-accelerated inference): https://github.com/intel/scikit-learn-intelex/tree/master/daal4py
2020-12-10 19:20:58 +03:00
2019-10-16 23:58:03 +03:00
m2cgen (model appliers for various languages): https://github.com/BayesWitnesses/m2cgen
2019-09-05 16:22:13 +03:00
leaves (Go model applier): https://github.com/dmitryikh/leaves
2018-11-22 00:59:44 +03:00
ONNXMLTools (ONNX converter): https://github.com/onnx/onnxmltools
SHAP (model output explainer): https://github.com/slundberg/shap
2017-04-07 19:14:17 +03:00
2021-06-27 03:27:58 +03:00
Shapash (model visualization and interpretation): https://github.com/MAIF/shapash
2021-03-23 21:49:50 +03:00
dtreeviz (decision tree visualization and model interpretation): https://github.com/parrt/dtreeviz
2024-10-21 22:25:22 +03:00
supertree (interactive visualization of decision trees): https://github.com/mljar/supertree
2021-08-28 08:31:49 +03:00
SynapseML (LightGBM on Spark): https://github.com/microsoft/SynapseML
2018-11-22 00:59:44 +03:00
2019-12-02 21:24:24 +03:00
Kubeflow Fairing (LightGBM on Kubernetes): https://github.com/kubeflow/fairing
2020-12-08 17:27:16 +03:00
Kubeflow Operator (LightGBM on Kubernetes): https://github.com/kubeflow/xgboost-operator
2021-09-09 19:10:03 +03:00
lightgbm_ray (LightGBM on Ray): https://github.com/ray-project/lightgbm_ray
2021-09-21 21:55:25 +03:00
Mars (LightGBM on Mars): https://github.com/mars-project/mars
2018-11-22 00:59:44 +03:00
ML.NET (.NET/C#-package): https://github.com/dotnet/machinelearning
2019-03-25 08:19:22 +03:00
LightGBM.NET (.NET/C#-package): https://github.com/rca22/LightGBM.Net
2024-10-21 22:25:22 +03:00
LightGBM Ruby (Ruby gem): https://github.com/ankane/lightgbm-ruby
2019-09-03 06:39:26 +03:00
2020-11-26 02:06:52 +03:00
LightGBM4j (Java high-level binding): https://github.com/metarank/lightgbm4j
2024-10-21 22:25:22 +03:00
LightGBM4J (JVM interface for LightGBM written in Scala): https://github.com/seek-oss/lightgbm4j
Julia-package: https://github.com/IQVIA-ML/LightGBM.jl
2024-08-16 08:44:44 +03:00
lightgbm3 (Rust binding): https://github.com/Mottl/lightgbm3-rs
2021-02-14 06:21:06 +03:00
2024-10-21 22:25:22 +03:00
MLServer (inference server for LightGBM): https://github.com/SeldonIO/MLServer
2020-12-22 17:45:20 +03:00
MLflow (experiment tracking, model monitoring framework): https://github.com/mlflow/mlflow
2020-12-21 00:40:57 +03:00
2024-10-21 22:25:22 +03:00
FLAML (AutoML library for hyperparameter optimization): https://github.com/microsoft/FLAML
MLJAR AutoML (AutoML on tabular data): https://github.com/mljar/mljar-supervised
Optuna (hyperparameter optimization framework): https://github.com/optuna/optuna
LightGBMLSS (probabilistic modelling with LightGBM): https://github.com/StatMixedML/LightGBMLSS
mlforecast (time series forecasting with LightGBM): https://github.com/Nixtla/mlforecast
skforecast (time series forecasting with LightGBM): https://github.com/JoaquinAmatRodrigo/skforecast
2023-01-31 08:25:42 +03:00
`{bonsai}` (R `{parsnip}` -compliant interface): https://github.com/tidymodels/bonsai
2020-12-21 00:40:57 +03:00
2021-08-10 02:01:37 +03:00
`{mlr3extralearners}` (R `{mlr3}` -compliant interface): https://github.com/mlr-org/mlr3extralearners
2020-12-22 02:01:54 +03:00
2021-11-16 09:27:23 +03:00
lightgbm-transform (feature transformation binding): https://github.com/microsoft/lightgbm-transform
2022-12-22 19:00:29 +03:00
`postgresml` (LightGBM training and prediction in SQL, via a Postgres extension): https://github.com/postgresml/postgresml
2023-09-08 19:29:56 +03:00
`vaex-ml` (Python DataFrame library with its own interface to LightGBM): https://github.com/vaexio/vaex
2017-08-24 18:07:21 +03:00
Support
-------
2017-06-09 05:26:23 +03:00
2020-03-03 19:31:40 +03:00
- Ask a question [on Stack Overflow with the `lightgbm` tag ](https://stackoverflow.com/questions/ask?tags=lightgbm ), we monitor this for new questions.
2024-06-18 16:50:20 +03:00
- Open **bug reports** and **feature requests** on [GitHub issues ](https://github.com/microsoft/LightGBM/issues ).
2017-06-09 05:26:23 +03:00
2016-12-16 10:14:24 +03:00
How to Contribute
-----------------
2020-02-22 05:56:14 +03:00
Check [CONTRIBUTING ](https://github.com/microsoft/LightGBM/blob/master/CONTRIBUTING.md ) page.
2016-10-09 09:59:09 +03:00
Microsoft Open Source Code of Conduct
2017-09-01 05:20:26 +03:00
-------------------------------------
2016-10-09 09:59:09 +03:00
This project has adopted the [Microsoft Open Source Code of Conduct ](https://opensource.microsoft.com/codeofconduct/ ). For more information see the [Code of Conduct FAQ ](https://opensource.microsoft.com/codeofconduct/faq/ ) or contact [opencode@microsoft.com ](mailto:opencode@microsoft.com ) with any additional questions or comments.
2017-12-05 18:24:36 +03:00
2018-05-22 01:46:44 +03:00
Reference Papers
----------------
2017-12-05 18:24:36 +03:00
2023-06-15 03:41:06 +03:00
Yu Shi, Guolin Ke, Zhuoming Chen, Shuxin Zheng, Tie-Yan Liu. "Quantized Training of Gradient Boosting Decision Trees" ([link](https://papers.nips.cc/paper_files/paper/2022/hash/77911ed9e6e864ca1a3d165b2c3cb258-Abstract.html)). Advances in Neural Information Processing Systems 35 (NeurIPS 2022), pp. 18822-18833.
2018-09-24 21:47:55 +03:00
Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, Tie-Yan Liu. "[LightGBM: A Highly Efficient Gradient Boosting Decision Tree](https://papers.nips.cc/paper/6907-lightgbm-a-highly-efficient-gradient-boosting-decision-tree)". Advances in Neural Information Processing Systems 30 (NIPS 2017), pp. 3149-3157.
2018-03-13 07:07:26 +03:00
2018-09-24 21:47:55 +03:00
Qi Meng, Guolin Ke, Taifeng Wang, Wei Chen, Qiwei Ye, Zhi-Ming Ma, Tie-Yan Liu. "[A Communication-Efficient Parallel Algorithm for Decision Tree](http://papers.nips.cc/paper/6380-a-communication-efficient-parallel-algorithm-for-decision-tree)". Advances in Neural Information Processing Systems 29 (NIPS 2016), pp. 1279-1287.
2018-03-13 07:07:26 +03:00
2018-09-24 21:47:55 +03:00
Huan Zhang, Si Si and Cho-Jui Hsieh. "[GPU Acceleration for Large-scale Tree Boosting](https://arxiv.org/abs/1706.08359)". SysML Conference, 2018.
2018-10-29 17:48:01 +03:00
2018-11-22 00:59:44 +03:00
License
-------
2018-10-29 17:48:01 +03:00
2019-05-08 08:51:28 +03:00
This project is licensed under the terms of the MIT license. See [LICENSE ](https://github.com/microsoft/LightGBM/blob/master/LICENSE ) for additional details.