Development Guide¶
Classes and Code Structure¶
Important Classes¶
Class |
Description |
---|---|
|
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 |
|
Evaluation metrics |
|
Network interfaces and communication algorithms |
|
Objective functions used to train |
|
Stores information of tree model |
|
Used to learn trees |
Code Structure¶
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 |
./src/metric |
Implementations of metrics |
./src/network |
Implementations of network functions |
./src/objective |
Implementations of objective functions |
./src/treelearner |
Implementations of tree learners |
Documents API¶
Refer to docs README.
Tests¶
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¶
See the implementations at Python-package and R-package.