Development Guide
December 16, 2016 ยท View on GitHub
Algorithms
Refer to Features to get important algorithms used in LightGBM.
Classes And Code Structure
Important Classes
| Class | description |
|---|---|
Application | The entrance of application, including training and prediction logic |
Bin | Data structure used for store feature discrete values(converted from float values) |
Boosting | Boosting interface, current implementation is GBDT and DART |
Config | Store parameters and configurations |
Dataset | Store information of dataset |
DatasetLoader | Used to construct dataset |
Feature | Store One column feature |
Metric | Evaluation metrics |
Network | Newwork interfaces and communication algorithms |
ObjectiveFunction | Objective function used to train |
Tree | Store 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 |
API Documents
LightGBM support use doxygen to generate documents for classes and functions.
C API
Refere to the comments in c_api.h.
High level Language package
Follow the implementation of python-package.
Ask Questions
Feel free to open issues if you met problems.