README.md 8.12 KB
Newer Older
Guolin Ke's avatar
Guolin Ke committed
1
LightGBM, Light Gradient Boosting Machine
wxchan's avatar
wxchan committed
2
=========================================
The Gitter Badger's avatar
The Gitter Badger committed
3

Guolin Ke's avatar
Guolin Ke committed
4
[![Build Status](https://lightgbm-ci.visualstudio.com/lightgbm-ci/_apis/build/status/Microsoft.LightGBM)](https://lightgbm-ci.visualstudio.com/lightgbm-ci/_build/latest?definitionId=1)
Nikita Titov's avatar
Nikita Titov committed
5
6
[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/1ys5ot401m0fep6l/branch/master?svg=true)](https://ci.appveyor.com/project/guolinke/lightgbm/branch/master)
[![Travis Build Status](https://travis-ci.org/Microsoft/LightGBM.svg?branch=master)](https://travis-ci.org/Microsoft/LightGBM)
7
[![Documentation Status](https://readthedocs.org/projects/lightgbm/badge/?version=latest)](https://lightgbm.readthedocs.io/)
Nikita Titov's avatar
Nikita Titov committed
8
9
[![GitHub Issues](https://img.shields.io/github/issues/Microsoft/LightGBM.svg)](https://github.com/Microsoft/LightGBM/issues)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Microsoft/LightGBM/blob/master/LICENSE)
10
11
[![Python Versions](https://img.shields.io/pypi/pyversions/lightgbm.svg)](https://pypi.org/project/lightgbm)
[![PyPI Version](https://img.shields.io/pypi/v/lightgbm.svg)](https://pypi.org/project/lightgbm)
12
[![Join the chat at https://gitter.im/Microsoft/LightGBM](https://badges.gitter.im/Microsoft/LightGBM.svg)](https://gitter.im/Microsoft/LightGBM?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
13
[![Slack](https://lightgbm-slack-autojoin.herokuapp.com/badge.svg)](https://lightgbm-slack-autojoin.herokuapp.com)
Guolin Ke's avatar
Guolin Ke committed
14

15
LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed and efficient with the following advantages:
Guolin Ke's avatar
Guolin Ke committed
16

17
- Faster training speed and higher efficiency
xuehui's avatar
xuehui committed
18
- Lower memory usage
Guolin Ke's avatar
Guolin Ke committed
19
- Better accuracy
20
- Parallel and GPU learning supported
21
- Capable of handling large-scale data
Guolin Ke's avatar
Guolin Ke committed
22

Guolin Ke's avatar
Guolin Ke committed
23
For more details, please refer to [Features](https://github.com/Microsoft/LightGBM/blob/master/docs/Features.rst). Benefit 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.
Guolin Ke's avatar
Guolin Ke committed
24

Guolin Ke's avatar
Guolin Ke committed
25
[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, the [parallel 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. 
Guolin Ke's avatar
Guolin Ke committed
26

wxchan's avatar
wxchan committed
27
28
News
----
29

Guolin Ke's avatar
Guolin Ke committed
30
08/15/2017 : Optimal split for categorical features.
Guolin Ke's avatar
Guolin Ke committed
31

Darío Hereñú's avatar
Darío Hereñú committed
32
07/13/2017 : [Gitter](https://gitter.im/Microsoft/LightGBM) is available.
Guolin Ke's avatar
Guolin Ke committed
33

34
06/20/2017 : Python-package is on [PyPI](https://pypi.org/project/lightgbm) now.
35

Guolin Ke's avatar
Guolin Ke committed
36
37
38
06/09/2017 : [LightGBM Slack team](https://lightgbm.slack.com) is available.

05/03/2017 : LightGBM v2 stable release.
39

40
04/10/2017 : LightGBM supports GPU-accelerated tree learning now. Please read our [GPU Tutorial](./docs/GPU-Tutorial.rst) and [Performance Comparison](./docs/GPU-Performance.rst).
Guolin Ke's avatar
Guolin Ke committed
41

Guolin Ke's avatar
Guolin Ke committed
42
02/20/2017 : Update to LightGBM v2.
Guolin Ke's avatar
Guolin Ke committed
43

Guolin Ke's avatar
Guolin Ke committed
44
02/12/2017 : LightGBM v1 stable release.
45

46
01/08/2017 : Release [**R-package**](https://github.com/Microsoft/LightGBM/tree/master/R-package) beta version, welcome to have a try and provide feedback.
Guolin Ke's avatar
Guolin Ke committed
47

Guolin Ke's avatar
Guolin Ke committed
48
12/05/2016 : **Categorical Features as input directly** (without one-hot coding). 
wxchan's avatar
wxchan committed
49

50
12/02/2016 : Release [**Python-package**](https://github.com/Microsoft/LightGBM/tree/master/python-package) beta version, welcome to have a try and provide feedback.
wxchan's avatar
wxchan committed
51

52
53
More detailed update logs : [Key Events](https://github.com/Microsoft/LightGBM/blob/master/docs/Key-Events.md).

54

55
External (Unofficial) Repositories
56
----------------------------------
57

58
Julia-package: https://github.com/Allardvm/LightGBM.jl
59
60
61
62

JPMML: https://github.com/jpmml/jpmml-lightgbm


63
64
65
Get Started and Documentation
-----------------------------

66
Install by following the [guide](https://github.com/Microsoft/LightGBM/blob/master/docs/Installation-Guide.rst) for the command line program, [Python-package](https://github.com/Microsoft/LightGBM/tree/master/python-package) or [R-package](https://github.com/Microsoft/LightGBM/tree/master/R-package). Then please see the [Quick Start](https://github.com/Microsoft/LightGBM/blob/master/docs/Quick-Start.rst) guide.
Guolin Ke's avatar
Guolin Ke committed
67

68
Our primary documentation is at https://lightgbm.readthedocs.io/ and is generated from this repository.
Guolin Ke's avatar
Guolin Ke committed
69

70
Next you may want to read:
71

72
* [**Examples**](https://github.com/Microsoft/LightGBM/tree/master/examples) showing command line usage of common tasks
73
74
75
* [**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
* [**Parallel 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
76
* [**Laurae++ interactive documentation**](https://sites.google.com/view/lauraepp/parameters) is a detailed guide for hyperparameters
77

78
Documentation for contributors:
79

80
81
* [**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).
Qiwei Ye's avatar
Qiwei Ye committed
82

83
84
Support
-------
85

Darío Hereñú's avatar
Darío Hereñú committed
86
* Ask a question [on Stack Overflow with the `lightgbm` tag](https://stackoverflow.com/questions/ask?tags=lightgbm), we monitor this for new questions.
87
* Discuss on the [LightGBM Gitter](https://gitter.im/Microsoft/LightGBM).
88
89
* Discuss on the [LightGBM Slack team](https://lightgbm.slack.com).
  * Use [this invite link](https://lightgbm-slack-autojoin.herokuapp.com/) to join the team.
90
* Open **bug reports** and **feature requests** (not questions) on [GitHub issues](https://github.com/Microsoft/LightGBM/issues).
91

Guolin Ke's avatar
Guolin Ke committed
92
93
94
95
96
97
How to Contribute
-----------------

LightGBM has been developed and used by many active community members. Your help is very valuable to make it better for everyone.

- Check out [call for contributions](https://github.com/Microsoft/LightGBM/issues?q=is%3Aissue+is%3Aopen+label%3Acall-for-contribution) to see what can be improved, or open an issue if you want something.
98
- Contribute to the [tests](https://github.com/Microsoft/LightGBM/tree/master/tests) to make it more reliable.
99
- Contribute to the [documents](https://github.com/Microsoft/LightGBM/tree/master/docs) to make it clearer for everyone.
Guolin Ke's avatar
Guolin Ke committed
100
- Contribute to the [examples](https://github.com/Microsoft/LightGBM/tree/master/examples) to share your experience with other users.
101
- Add your stories and experience to [Awesome LightGBM](https://github.com/Microsoft/LightGBM/blob/master/examples/README.md).
Guolin Ke's avatar
Guolin Ke committed
102
- Open issue if you met problems during development.
Guolin Ke's avatar
Guolin Ke committed
103

Guolin Ke's avatar
Guolin Ke committed
104
Microsoft Open Source Code of Conduct
105
106
-------------------------------------

Guolin Ke's avatar
Guolin Ke committed
107
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.
Guolin Ke's avatar
Guolin Ke committed
108

109
110
Reference Papers
----------------
Guolin Ke's avatar
Guolin Ke committed
111

Guolin Ke's avatar
Guolin Ke committed
112
113
114
115
116
Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, and 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)". In Advances in Neural Information Processing Systems (NIPS), pp. 3149-3157. 2017.

Qi Meng, Guolin Ke, Taifeng Wang, Wei Chen, Qiwei Ye, Zhi-Ming Ma, Tieyan 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).

Huan Zhang, Si Si and Cho-Jui Hsieh. "[GPU Acceleration for Large-scale Tree Boosting](https://arxiv.org/abs/1706.08359)". arXiv:1706.08359, 2017.