Refer to Features for understanding of important algorithms used in LightGBM.
Classes and Code Structure
||The entrance of application, including training and prediction logic|
||Data structure used for storing feature discrete values (converted from float values)|
||Boosting interface (GBDT, DART, GOSS, etc.)|
||Stores parameters and configurations|
||Stores information of dataset|
||Used to construct dataset|
||Stores the data of feature, could be multiple features|
||Network interfaces and communication algorithms|
||Objective functions used to train|
||Stores information of tree model|
||Used to learn trees|
|./include/utils||Some common functions|
|./src/application||Implementations of training and prediction logic|
|./src/boosting||Implementations of Boosting|
|./src/io||Implementations of IO related classes, including
|./src/metric||Implementations of metrics|
|./src/network||Implementations of network functions|
|./src/objective||Implementations of objective functions|
|./src/treelearner||Implementations of tree learners|
Refer to docs README.
C++ unit tests are located in the
./tests/cpp_tests folder and written with the help of Google Test framework.
To run tests locally first refer to the Installation Guide for how to build tests and then simply run compiled executable file.
High Level Language Package
Refer to FAQ.
Also feel free to open issues if you met problems.