leaves:Go语言实现的GBRT模型预测库
1. 项目基础介绍及编程语言
leaves
是一个使用 Go 语言编写的开源项目,它实现了梯度提升回归树(Gradient Boosting Regression Trees, GBRT)模型的预测部分。该项目的主要目的是使 Go 程序能够无缝使用来自 LightGBM、XGBoost 和 scikit-learn 等流行框架的 GBRT 模型,而不需要依赖 C API 绑定。
2. 项目核心功能
leaves
的核心功能包括:
- 支持批量预测,以提升预测效率。
- 提供sigmoid和softmax等转换函数的支持。
- 能够获取决策树的叶子索引。
- 支持读取 LightGBM 模型(包括文本和JSON格式),并进行多类预测。
- 支持读取 XGBoost 模型(二进制格式),并进行多类预测,同时处理缺失值。
- 实验性支持读取 scikit-learn 的树模型(pickle格式,协议0)。
3. 项目最近更新的功能
根据项目的最新更新,以下是一些近期添加的功能:
- 对类别特征的优化,例如一键式决策规则和仅预测用途的优化。
- 增加了对 XGBoost 模型预测的多线程支持,尽管目前还无法通过 Python 绑定充分利用多线程。
- 在
benchmarks
中添加了与 C API 实现的预测速度比较,以展示性能表现。
请注意,项目的API可能在下一个主要版本之前发生变化,因此在集成到生产环境之前应仔细评估API的稳定性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考