事先需要準備的,可以用brew安裝:
libomp(xgboost支援多線程需要)
cmake(build xgboost需要)
brew install libomp
brew install cmake
XGBoost下載下傳失敗,尤其是子模組,搜尋錯誤其實一般都是說postBuffer,其實應該是沒梯子網絡導緻的,連了梯子下載下傳絲般順滑,我猜你可能是在找這個問題,是以寫在前面
1.pip install
看一眼就行,暫時沒發現誰的博文說自己用這種方式安裝成功了,也可以試試
// 這個庫包含了 OpenMP,是支援XGBoost多線程訓練的依賴
brew install libomp
// install
pip3 install xgboost
2.Build from the source code
// 這個庫包含了 OpenMP,是支援XGBoost多線程訓練的依賴
brew install libomp
// xgboost有submodule,clone recursive
git clone --recursive https://github.com/dmlc/xgboost
下載下傳可能出現的問題:
1.檔案過大
這個我沒有驗證,我下載下傳的版本是67MB,不算大,隻不過剛開始處理這個問題的時候不知道是因為網絡的問題,是以一開始就配置了,至于到底會不會出現這個情況不确定,建議可以配置一下
// 如下載下傳失敗可能需要的配置
git config --global http.postBuffer 524288000
git config --global https.postBuffer 524288000
// 然後檢視是否配置成功
git config --global --list
2.部分子模組容易下載下傳失敗而且速度極其的慢,比如cub、 dmlc-core,需要給終端配置代理,終端預設是無代理的,梯子自己想辦法吧。
至此源碼應該是下載下傳完成的狀态;
3.Build XGBoost
cd xgboost
mkdir build && cd build
cmake ..
make -j4
4.Build Success

5.Python Package Installation
cd python-package
python3 setup.py install
6.驗證
import xgboost
xgboost.__version__
可能會提示:ModuleNotFoundError: No module named ‘scipy’
安裝即可解決:pip3 install scipy