[英]How to install xgboost in python on MacOS?
我是新手,正在學習python。 有人可以幫助我 - 如何在 python 中安裝 xgboost。 我使用的是 Mac 10.11。 我在線閱讀並執行了下面提到的步驟,但無法解碼下一步要做什么:
pip install xgboost -
如果你想使用多線程,那就有點復雜了。 作為記錄,我使用的是裝有 OS X 10.10 (Yosemite) 的 Mac。 我花了一段時間來解決各種問題,但它現在在我的 Anaconda (Py36) 環境中運行良好。
對於多線程,您需要先執行以下操作(如果您還沒有這樣做,請安裝自制軟件):
brew install gcc --without-multilib
如果您安裝了其他版本,您可能會收到一些取消鏈接目錄或刪除它們的警告; 遵循警告/說明。
接下來從 Github 獲取 xgboost 文件。 我將它下載到Anaconda/pkgs
目錄。
git clone --recursive https://github.com/dmlc/xgboost
接下來的一系列步驟與 xgboost 站點上的文檔不同,我從大量來源拼湊起來並進行了試驗。 問題是 make 文件中的一些關鍵行被注釋掉了,也沒有完全指定。
cd xgboost; cp make/config.mk ./config.mk
現在,使用您最喜歡的編輯器(我使用的是 vi),然后進入您從/make
復制到/xgboost
vi config.mk
取消注釋文件頂部附近的行:
export CC = gcc
export CXX = g++
將它們更改為以下內容:
export CC = gcc-6
export CXX = g++-6
簡單地取消注釋行可能會解決問題。 它不適合我; 我需要將-6
添加到兩行。 保存文件。
另外,對文件xgboost/Makefile
進行更改; 更改線路:
export CC = $(if $(shell which clang), clang, gcc)
...
...
export CXX = $(if $(shell which clang++), clang++, g++)
到以下幾點:
export CC = $(if $(shell which clang), clang, gcc-6)
...
...
export CXX = $(if $(shell which clang++), clang++, g++-6)
同樣,我使用 vi 進行此編輯。
保存文件,現在您需要運行清潔步驟,因為您更改了 Makefile。
make clean_all && make -j4
這應該干凈地配置它並構建庫。 您仍然需要安裝它。
cd python-package; python setup.py install
現在重新啟動 Python/Anaconda,您應該能夠導入該庫。
對於在 Mac 上學習 Python 和機器學習的新手,我強烈建議先安裝 Anaconda(安裝文檔) 。
Anaconda 是 Python 和 R 編程語言的免費增值開源發行版,用於大規模數據處理、預測分析和科學計算,旨在簡化包管理和部署。
如果您為 Python 2.7 安裝了 Anaconda,那么安裝 XGBoost 應該沒有問題:
conda install -c aterrel xgboost=0.4.0
如果您已經安裝了 Anaconda 並且您的 pip XGBoost 安裝失敗,您應該嘗試:
conda remove xgboost
conda install -c aterrel xgboost=0.4.0
對於 Python 2.7
$ conda install -c aterrel xgboost=0.4.0
或
$ conda install -c biconda xgboost=0.6a2
對於 Python 3.6
$ brew install gcc@5
$ pip install xgboost
如果您安裝了 anaconda,這對我有用:
只需在終端輸入:
conda install -c conda-forge xgboost
對於 Python-3.x,請在 Mac 中執行以下操作
確保安裝了 gcc-6(和 g++-6),如果沒有安裝
brew install gcc
然后,執行以下操作
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost/
make -j4
cd python-package
python3 setup.py install
如果您正在使用 Anaconda 並且尚未配置您的路徑以使用~/anaconda/bin
的二進制文件,則運行最后一行
/path/to/anaconda/bin/python3 setup.py install
我遵循了 Bryan Butler 的回答並且它起作用了,我只需要進行一些更改:
gcc-7
/ g++-7
而不是gcc-6
/ g++-6
。make clean_all && make -j4
我有一個錯誤as
。 所以,我只需要運行export PATH=/usr/bin:$PATH
就可以了!我運行 Mac OS Mojave 10.14.5 並遵循https://xgboost.readthedocs.io/en/latest/build.html#上 Mac OS 的“高級方法”說明為我工作。 簡而言之:
brew install cmake
brew install gcc@8
git clone --recursive https://github.com/dmlc/xgboost
mkdir xgboost/my_build
cd xgboost/my_build
CC=gcc-8 CXX=g++-8 cmake ..
make -j4
cd ../python_package
python3 setup.py install
您可以 pip install catboost。 它是最近開源的梯度提升庫,它具有類似的接口,並且比 XGBoost 更准確、更快並且具有開箱即用的分類特征支持。 這是圖書館的網站: https : //catboost.yandex
在我的情況下,這里描述的所有其他方法都失敗了。 我設法按照此處描述的官方安裝進行安裝: http : //xgboost.readthedocs.io/en/latest/build.html#building-on-macos
我的系統是 MacOS Serria,所以我按照“在 macOS 上構建”的說明進行操作。
但是,我沒有“將這兩行替換為(5 或 6 或 7;取決於您的 gcc 版本”)寫入 config.mk 文件,而是:
export CC = gcc-5
export CXX = g++-5
即使gcc-version
顯示Apple LLVM version 9.0.0
。
之后,按照“Python 包安裝”的官方說明,我能夠在 Python 中運行該包。
2021 年 3 月 - 使用 pip 安裝 XGBoost 1.3.3 沒問題
> pip3 install xgboost
>>> import xgboost as xgb
>>> xgb.__version__
'1.3.3'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.