dask与xgboost的相互作用
dask-xgboost的Python项目详细描述
使用xgboost和dask进行分布式训练。分布式
此存储库使您能够使用xgboost执行分布式培训 dask.array和dask.dataframe集合。
pip install dask-xgboost
示例
fromdask.distributedimportClientclient=Client('scheduler-address:8786')# connect to clusterimportdask.dataframeasdddf=dd.read_csv('...')# use dask.dataframe to load anddf_train=...# preprocess datalabels_train=...importdask_xgboostasdxgbparams={'objective':'binary:logistic',...}# use normal xgboost paramsbst=dxgb.train(client,params,df_train,labels_train)>>>bst# Get back normal XGBoost result<xgboost.core.Boosterat...>predictions=dxgb.predict(client,bsg,data_test)
工作原理
有关使用dask.dataframe进行预处理的更多信息,请参见 Dask.dataframe documentation。
一旦您创建了合适的数据和标签,我们就可以开始分发 XGBoost培训。每个dask工作人员都设置一个xgboost从机并 他们有足够的信息找到对方。然后达斯克工人们 内存中的pandas数据帧到xgboost(一个dask数据帧就是多个pandas 数据帧分布在许多机器的内存中。XGBoost手柄 无dask干扰的分布式自主训练。XGBoost然后是hands 返回单个xgboost.Boosterresult对象。
历史记录
开发过程中的对话发生在dmlc/xgboost #2032