分布式XGBoost模型使用的培訓sparkdl.xgboost

預覽

這個特性是在公共預覽

請注意

sparkdl.xgboost是廢棄磚開始運行時12.0毫升,刪除在磚運行時的13.0毫升以上。將工作負載遷移到信息xgboost.spark,請參閱棄用sparkdl遷移指南。xgboost模塊

磚運行時毫升包括PySpark估計基於Pythonxgboost包,sparkdl.xgboost.XgboostRegressorsparkdl.xgboost.XgboostClassifier。您可以創建一個毫升管道基於這些估計。有關更多信息,請參見XGBoost PySpark管道

磚強烈建議sparkdl.xgboost用戶使用磚運行時11.3 LTS毫升以上。先前的磚舊版本的運行時版本受到錯誤的影響sparkdl.xgboost

請注意

  • sparkdl.xgboost模塊是自磚棄用運行時12.0毫升。磚建議您將您的代碼遷移到使用xgboost.spark模塊。看到遷移向導

  • 以下的參數xgboost包不支持:gpu_id,output_margin,validate_features

  • 的參數sample_weight,eval_set,sample_weight_eval_set不受支持。相反,使用參數weightColvalidationIndicatorCol。看到XGBoost PySpark管道獲取詳細信息。

  • 的參數base_margin,base_margin_eval_set不受支持。使用的參數baseMarginCol代替。看到XGBoost PySpark管道獲取詳細信息。

  • 的參數失蹤有不同的語義xgboost包中。在xgboost包,SciPy稀疏矩陣的零值被視為缺失值的價值無關失蹤。PySpark估計的sparkdl包,零值火花稀疏向量並不作為缺失值,除非你設置失蹤= 0。如果你有一個稀疏的訓練數據集(大多數特性值缺失),磚推薦設置失蹤= 0減少內存消耗,實現更好的性能。

分布式訓練

磚運行時毫升支持分布式XGBoost訓練使用num_workers參數。使用分布式培訓,創建一個分類或回歸量和集num_workers一個值小於或等於您的集群上的工人數量。

例如:

分類器=XgboostClassifier(num_workers=N)回歸量=XgboostRegressor(num_workers=N)

分布式訓練的局限性

  • 你不能使用mlflow.xgboost.autolog與分布式XGBoost。

  • 你不能使用baseMarginCol與分布式XGBoost。

  • 你不能使用分布式XGBoost啟用了自動定量的集群。看到集群規模和自動定量禁用自動定量說明。

GPU培訓

請注意

磚運行時11.3 LTS毫升包括XGBoost 1.6.1,不支持GPU集群計算能力5.2甚至更低。

磚運行時9.1 LTS毫升以上支持GPU集群XGBoost培訓。使用GPU集群,集use_gpu真正的

例如:

分類器=XgboostClassifier(num_workers=N,use_gpu=真正的)回歸量=XgboostRegressor(num_workers=N,use_gpu=真正的)

例如筆記本電腦

這個筆記本顯示的使用Python包sparkdl.xgboostMLlib火花。的sparkdl.xgboost包磚以來棄用運行時12.0毫升。

PySpark-XGBoost筆記本

在新標簽頁打開筆記本