Refer to Features for understanding of important algorithms used in LightGBM.
Class | Description |
---|---|
Application |
The entrance of application, including training and prediction logic |
Bin |
Data structure used for storing feature discrete values (converted from float values) |
Boosting |
Boosting interface (GBDT, DART, etc.) |
Config |
Stores parameters and configurations |
Dataset |
Stores information of dataset |
DatasetLoader |
Used to construct dataset |
FeatureGroup |
Stores the data of feature, could be multiple features |
Metric |
Evaluation metrics |
Network |
Network interfaces and communication algorithms |
ObjectiveFunction |
Objective functions used to train |
Tree |
Stores information of tree model |
TreeLearner |
Used to learn trees |
Path | Description |
---|---|
./include | Header files |
./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 Bin , Config , Dataset , DatasetLoader , Feature and Tree |
./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.
Refer to C API or the comments in c_api.h file, from which the documentation is generated.
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.
It is highly recommended to build tests with sanitizers.
See the implementations at Python-package and R-package.
Refer to FAQ.
Also feel free to open issues if you met problems.