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 上獲取。