开发指南

算法

关于LightGBM中使用的重要算法的理解,请参阅 功能

类和代码结构

重要类

描述

Application

应用程序的入口,包括训练和预测逻辑

Bin

用于存储特征离散值(从浮点值转换而来)的数据结构

Boosting

提升接口(GBDT、DART等)

Config

存储参数和配置

Dataset

存储数据集的信息

DatasetLoader

用于构建数据集

FeatureGroup

存储特征数据,可以是多个特征

Metric

评估指标

网络

网络接口和通信算法

ObjectiveFunction

用于训练的目标函数

Tree

存储树模型的信息

TreeLearner

用于学习树

代码结构

路径

描述

./包含

头文件

./include/utils

一些常见功能

./src/应用程序

训练和预测逻辑的实现

./src/boosting

Boosting 的实现

./src/io

实现与IO相关的类,包括 BinConfigDatasetDatasetLoaderFeatureTree

./src/metric

指标的实现

./src/网络

网络功能的实现

./src/objective

目标函数的实现

./src/treelearner

树学习器的实现

文档 API

参见 文档 README

C API

参考 C APIc_api.h 文件中的注释,文档由此生成。

测试

C++ 单元测试位于 ./tests/cpp_tests 文件夹中,并在 Google Test 框架的帮助下编写。要在本地运行测试,首先参考 安装指南 了解如何构建测试,然后简单地运行编译后的可执行文件。强烈建议使用 sanitizers 构建测试。

高级语言包

请参阅 Python-packageR-package 的实现。

问题

参见 FAQ

如果在使用过程中遇到问题,欢迎随时打开 问题