多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Development Guide ## Algorithms Refer to [Features](./Features.rst) to understand 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` | Network 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 | ### Documents API Refer to [docs README](./README.rst). ## C API Refere to the comments in [c_api.h](https://github.com/Microsoft/LightGBM/blob/master/include/LightGBM/c_api.h). ## High Level Language Package See the implementations at [Python-package](https://github.com/Microsoft/LightGBM/tree/master/python-package) and [R-package](https://github.com/Microsoft/LightGBM/tree/master/R-package). ## Questions Refer to [FAQ](./FAQ.rst). Also feel free to open [issues](https://github.com/Microsoft/LightGBM/issues) if you met problems.