簡體   English   中英

如何在 MacOS 上的 python 中安裝 xgboost?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM