Skip to content

Latest commit

 

History

History
61 lines (45 loc) · 2.13 KB

development.md

File metadata and controls

61 lines (45 loc) · 2.13 KB

Development Guide

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.