AI News HubLIVE
站内改写2 分钟阅读

XGBoost 3.3.0 发布

XGBoost 3.3.0 版本发布,新增期望分位数回归(expectile regression),默认启用类别特征支持,扩展了向量叶多输出树的SHAP支持,并带来了CPU、GPU、分布式训练等多方面的性能与可扩展性改进。

来源Hacker News AI作者: nickbecker

XGBoost 3.3.0 版本正式发布。本次更新引入了期望分位数回归(expectile regression),默认启用类别特征支持,扩展了向量叶多输出树的SHAP功能,并在CPU、GPU、分布式训练等多个方面带来了性能与可扩展性的提升。

期望分位数回归 新版本新增了 reg:expectileerror 目标函数和 expectile 评估指标,允许用户进行非对称的平方损失回归分析。与分位数回归不同,期望分位数曲线不会出现交叉现象,因此在同时估计多个分布水平时更加稳定。该功能适用于风险敏感预测和不确定性建模等场景。

类别特征默认启用 类别特征支持现在默认开启,用户无需再设置 enable_categorical=True。DataFrame 中的类别列可以直接传递给 XGBoost,这与现代表格机器学习库的预期行为一致。当然,如果需要显式禁用,仍可通过参数控制。

向量叶树的SHAP支持 XGBoost 3.3.0 为向量叶多输出树提供了精确的SHAP贡献值和交互作用预测,支持CPU和GPU。这意味着多输出模型现在也能获得与单输出模型相同的可解释性工具。同时,QuadratureTreeSHAP 的引入提升了数值稳定性和计算速度。

性能与可扩展性改进 在CPU方面,针对宽数据集进行了直方图构建优化,并对 aarch64 平台支持通过 sysfs 检测缓存大小。GPU方面,采用 Philox 随机数生成器加速采样,并继续降低内存压力。分布式训练不再需要全对全集合通信,且支持自定义工作节点端口。

Python 与 Spark 更新 最低支持的 Python 版本升级至 3.12,并新增了对 Spark Connect ML 的 PySpark 支持。此外,改进了数据框验证,要求 Polars 的 Enum 支持,并确保 pandas 列名唯一。其他修复包括一致的默认 verbose 行为、修复 python -OO 崩溃等。

JVM 与构建系统 JVM 包现支持 Spark 4.0,包括自动模块名称和 FreeBSD 支持。构建系统支持 Visual Studio 2026,更新了 CUDA Toolkit 支持,并修复了多个 CMake 和 macOS 问题。

弃用通知 gblinear 提升器已在 3.3.0 中弃用,并将在未来版本中移除。XGBoost 团队决定专注于树算法的发展,建议用户迁移到其他线性模型方案。

详尽的更新日志和安装指南可在 XGBoost 文档和 GitHub 上获取。