dmlc

xgboost

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++ 等绑定共享同一核心

适用人群

  • 做表格数据建模的数据科学家
  • 参加机器学习竞赛的选手
  • 需要在大规模数据上训练树模型的工程师
  • 生产环境部署模型的团队

快速上手

  1. 安装 Python 包:
pip install xgboost
  1. 用 scikit-learn 风格接口训练:
from xgboost import XGBClassifier

model = XGBClassifier(n_estimators=300, max_depth=6)
model.fit(X_train, y_train)
  1. 超大规模数据改用 Dask 或 Spark 接口,集群训练代码几乎不变

核心优势

  • 精度高:树提升在表格任务上长期是最强基线之一
  • 扩展性好:从笔记本到数千节点集群同一套 API
  • 工程成熟:十年打磨,文档、教程与生产案例齐全

系统要求

项目 要求
操作系统 Linux、macOS、Windows
硬件 CPU 为主,GPU 可选加速
语言环境 Python 3.x / R / JVM 等

注意事项

  • 数据类型:输入需转为 DMatrix 或数值矩阵,类别特征需先编码
  • GPU 环境:GPU 版本需要匹配的 CUDA 环境

历史版本

排序