XGBoost 是一个优化的分布式梯度提升库(C++ 核心,提供 Python、R、Java 等多语言绑定),以高效并行的树提升算法解决表格数据上的分类与回归问题,可运行到数十亿样本规模。
- v3.3.1
- 发布于
- 2026年9月15日
- 28,892
- 星标
- 19,761
- 下载
- 同步于
- 8 天前
最新版本
v3.3.12026年9月15日 16:48下载慢?可在上方随时切换镜像源
项目说明
项目概述
XGBoost(eXtreme Gradient Boosting)是一个高效、灵活、可移植的分布式梯度提升库,实现 GBDT 等树提升算法,是表格数据竞赛与工业建模中使用最广泛的机器学习库之一。同一份代码可以跑在单机、Kubernetes、Hadoop、Spark、Dask 等分布式环境上,支持数十亿样本的训练。提供 Python、R、Java、Scala、C++ 等多语言接口。
表格数据建模的常青树,单机到集群用同一套代码。
| 项目 | 内容 |
|---|---|
| 平台 | Linux、macOS、Windows |
| 语言 | C++ 核心,Python/R/Java/Scala/C++ 绑定 |
| 许可 | Apache-2.0 |
| 运行环境 | 单机、Hadoop、Spark、Dask、Kubernetes 等 |
主要功能
- 梯度提升:并行化树提升(GBDT/GBM),分类、回归、排序一体覆盖
- 分布式训练:同一份代码跑在 Spark、Dask、Hadoop 等集群环境
- GPU 加速:NVIDIA GPU 上训练与推理显著提速
- 稀疏感知:自动处理缺失值与稀疏特征
- 正则化:内置 L1/L2 正则与剪枝,抑制过拟合
- 交叉验证与调参:内置 CV 工具,与 Optuna 等调参库集成
- 多语言接口:Python、R、JVM、C++ 等绑定共享同一核心
适用人群
- 做表格数据建模的数据科学家
- 参加机器学习竞赛的选手
- 需要在大规模数据上训练树模型的工程师
- 生产环境部署模型的团队
快速上手
- 安装 Python 包:
pip install xgboost- 用 scikit-learn 风格接口训练:
from xgboost import XGBClassifier
model = XGBClassifier(n_estimators=300, max_depth=6)
model.fit(X_train, y_train)- 超大规模数据改用 Dask 或 Spark 接口,集群训练代码几乎不变
核心优势
- 精度高:树提升在表格任务上长期是最强基线之一
- 扩展性好:从笔记本到数千节点集群同一套 API
- 工程成熟:十年打磨,文档、教程与生产案例齐全
系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Linux、macOS、Windows |
| 硬件 | CPU 为主,GPU 可选加速 |
| 语言环境 | Python 3.x / R / JVM 等 |
注意事项
- 数据类型:输入需转为 DMatrix 或数值矩阵,类别特征需先编码
- GPU 环境:GPU 版本需要匹配的 CUDA 环境
历史版本
排序