XGBoost是諸如Kaggle等數(shù)據(jù)科學(xué)競賽選手的利器驻民。在特征屬于許多不同范疇時附鸽,XGBoost的表現(xiàn)通常優(yōu)于神經(jīng)網(wǎng)絡(luò),因此它適合用于組合手工構(gòu)造的特征昨稼。
在特征較多,樣本較多時拳锚,XGBoost的訓(xùn)練也會比較慢假栓,我們可以考慮使用GPU進(jìn)行加速。
GPU加速插件安裝
安裝GPU加速插件時需要重新編譯XGBoost霍掺,在編譯時指定相應(yīng)選項(xiàng)匾荆。
- 首先從github上clone整個repo的代碼
git clone --recursive [https://github.com/dmlc/xgboost.git](https://github.com/dmlc/xgboost.git)
- 不同的操作系統(tǒng)編譯方式不同,詳見此處
在Linux系統(tǒng)下
cd xgboost
mkdir build
cd build
cmake .. -DPLUGIN_UPDATER_GPU=ON
make -j
- 編譯完成后杆烁,生成libxgboostXX.so,接著安裝xgboost的python包,Linux下
cd python-package
sudo python setup.py install
GPU加速插件的使用
設(shè)置tree_method
為gpu_exact
或gpu_hist
即可牙丽。
也可以調(diào)整使用的GPU數(shù)目和次序,例如
param['tree_method'] = 'gpu_hist'
param['n_gpus'] = -1 # -1表示使用所有GPU
param['gpu_id'] = 1 # 從GPU 1 開始
常用參數(shù)如下所示