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.