XGBoost 3.3.0 發佈
XGBoost 3.3.0 版本發佈,新增期望分位數迴歸(expectile regression),默認啓用類別特徵支持,擴展了向量葉多輸出樹的SHAP支持,並帶來了CPU、GPU、分佈式訓練等多方面的性能與可擴展性改進。
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 上獲取。