开发指南
算法
请参阅 特性 以了解 LightGBM 中使用的重要算法。
类和代码结构
重要类
类 |
描述 |
---|---|
|
应用程序入口,包括训练和预测逻辑 |
|
用于存储特征离散值(从浮点值转换而来)的数据结构 |
|
Boosting 接口(GBDT、DART 等) |
|
存储参数和配置 |
|
存储数据集信息 |
|
用于构建数据集 |
|
存储特征数据,可以是多个特征 |
|
评估指标 |
|
网络接口和通信算法 |
|
用于训练的目标函数 |
|
存储树模型信息 |
|
用于学习树模型 |
代码结构
路径 |
描述 |
---|---|
./include |
头文件 |
./include/utils |
一些通用函数 |
./src/application |
训练和预测逻辑的实现 |
./src/boosting |
Boosting 的实现 |
./src/io |
IO 相关类的实现,包括 |
./src/metric |
评估指标的实现 |
./src/network |
网络功能的实现 |
./src/objective |
目标函数的实现 |
./src/treelearner |
树学习器的实现 |
文档 API
请参阅 文档 README。
C API
测试
C++ 单元测试位于 ./tests/cpp_tests
文件夹中,并借助 Google Test 框架编写。要在本地运行测试,请首先参考 安装指南 中关于如何构建测试的部分,然后直接运行编译后的可执行文件。强烈建议使用 sanitizers 构建测试。
高级语言包
问题
请参阅 常见问题。
如果您遇到问题,也欢迎提出 问题。