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