Development Guide¶
Classes and Code Structure¶
Important Classes¶
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, GOSS, etc.) |
Config |
Stores parameters and configurations |
Dataset |
Stores information of dataset |
DatasetLoader |
Used to construct dataset |
Feature |
Stores one column feature |
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 |
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 relatived 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 |
Documents API¶
Refer to docs README.
High Level Language Package¶
See the implementations at Python-package and R-package.