Ich bin ein Neuling und lerne Python. Kann mir jemand helfen, wie man xgboost in Python installiert. Ich verwende Mac 10.11. Ich habe online gelesen und den unten genannten Schritt ausgeführt, konnte jedoch nicht entschlüsseln, was als nächstes zu tun ist:
pip install xgboost -
Es ist etwas komplizierter, wenn Sie Multithreading verwenden möchten. Für die Aufzeichnung verwende ich einen Mac mit OS X 10.10 (Yosemite). Ich habe eine Weile gebraucht, um die verschiedenen Probleme durchzuarbeiten, aber jetzt läuft es gut in meiner Anaconda (Py36) -Umgebung.
Für Multithreading müssen Sie zuerst Folgendes tun (Homebrew installieren, falls Sie dies nicht getan haben):
brew install gcc --without-multilib
Möglicherweise erhalten Sie einige Warnungen zum Aufheben der Verknüpfung von Verzeichnissen oder zum Löschen dieser Verzeichnisse, wenn andere Versionen installiert sind. Befolgen Sie die Warnungen/Anweisungen.
Als nächstes holen Sie die Xgboost-Dateien von Github. Ich habe es in das Anaconda/pkgs
-Verzeichnis heruntergeladen.
git clone --recursive https://github.com/dmlc/xgboost
Die nächste Reihe von Schritten unterscheidet sich von der Dokumentation auf der Xgboost-Site, und ich habe sie aus vielen Quellen zusammengestellt und auch experimentiert. Das Problem ist, dass einige Schlüsselzeilen in den Make-Dateien auskommentiert und auch nicht vollständig angegeben sind.
cd xgboost; cp make/config.mk ./config.mk
Verwenden Sie nun Ihren bevorzugten Editor (ich habe vi verwendet) und gehen Sie in die Datei, die Sie von /make
nach /xgboost
kopiert haben.
vi config.mk
Kommentieren Sie die Zeilen am oberen Rand der Datei:
export CC = gcc
export CXX = g++
Ändern Sie sie wie folgt:
export CC = gcc-6
export CXX = g++-6
Es ist möglich, dass durch einfaches Auskommentieren der Zeilen das Problem gelöst wird. Es war nicht für mich; Ich musste den -6
zu beiden Zeilen hinzufügen. Speicher die Datei.
Nehmen Sie auch Änderungen an der Datei vor xgboost/Makefile
; Zeilen ändern:
export CC = $(if $(Shell which clang), clang, gcc)
...
...
export CXX = $(if $(Shell which clang++), clang++, g++)
zu dem Folgendem:
export CC = $(if $(Shell which clang), clang, gcc-6)
...
...
export CXX = $(if $(Shell which clang++), clang++, g++-6)
Ich habe wieder vi für diese Bearbeitung verwendet.
Speichern Sie die Datei und jetzt müssen Sie einen Reinigungsschritt ausführen, da Sie das Makefile geändert haben.
make clean_all && make -j4
Dies sollte es sauber konfigurieren und die Bibliothek erstellen. Sie müssen es noch installieren.
cd python-package; python setup.py install
Starten Sie nun Python/Anaconda neu und Sie sollten die Bibliothek importieren können.
Für einen Anfängerpython und Maschinelles Lernen auf dem Mac würde ich dringend empfehlen, zuerst Anaconda ( install doc) zu installieren.
Anaconda ist eine Freemium-Open-Source-Distribution von Python und R Programmiersprachen für die Verarbeitung großer Datenmengen, vorhersagend Analytics und Scientific Computing, die das Paket vereinfachen sollen Management und Bereitstellung.
Wenn Sie Anaconda für Python 2.7 installiert haben, sollten Sie bei der Installation von XGBoost keine Probleme haben:
conda install -c aterrel xgboost=0.4.0
Wenn Sie Anaconda bereits installiert haben und Ihre Pip XGBoost-Installation fehlgeschlagen ist, sollten Sie Folgendes versuchen:
conda remove xgboost
conda install -c aterrel xgboost=0.4.0
FÜR PYTHON 2.7
$ conda install -c aterrel xgboost=0.4.0
OR
$ conda install -c biconda xgboost=0.6a2
FÜR PYTHON 3.6
$ brew install [email protected]
$ pip install xgboost
Führen Sie für Python-3.x unter Mac folgende Schritte aus
Stellen Sie sicher, dass gcc-6 (und g ++ - 6) installiert ist, andernfalls mit
brew install gcc
Dann machen Sie folgendes
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost/
make -j4
cd python-package
python3 setup.py install
Wenn Sie Anaconda verwenden und Ihren Pfad noch nicht für die Verwendung der Binärdateien in ~/anaconda/bin
konfiguriert haben, führen Sie die letzte Zeile als aus
/path/to/anaconda/bin/python3 setup.py install
Ich folgte Bryan Butlers answer und es hat funktioniert, ich musste nur ein paar Änderungen vornehmen:
gcc-7
/g++-7
anstelle von gcc-6
/g++-6
.make clean_all && make -j4
trat bei as
ein Fehler auf. Also musste ich einfach export PATH=/usr/bin:$PATH
laufen lassen und es hat funktioniert!Alle anderen hier beschriebenen Möglichkeiten sind in meinem Fall fehlgeschlagen. Ich konnte die Installation anhand der hier beschriebenen offiziellen Installation durchführen: http://xgboost.readthedocs.io/de/latest/build.html#building-on-macos
Mein System ist MacOS Serria, daher folgte ich den Anweisungen von "Building on macOS".
Anstatt "diese beiden Zeilen in (5 oder 6 oder 7; je nach Ihrer gcc-Version" in der config.mk-Datei zu ersetzen, habe ich Folgendes getan:
export CC = gcc-5
export CXX = g++-5
Obwohl gcc-version
Apple LLVM version 9.0.0
zeigte.
Danach konnte ich das Paket in Python ausführen, indem ich den offiziellen Anweisungen von "Python Package Installation" folgte.
Wenn Sie Anaconda installiert haben, hat dies für mich funktioniert:
Einfach das Terminal eingeben:
conda install -c conda-forge xgboost
Sie können catboost pip installieren . Es handelt sich um eine kürzlich für Open Source-Bibliotheken verwendete Bibliothek, die über ähnliche Schnittstellen verfügt und genauer ist als XGBoost. Hier ist die Seite der Bibliothek: https://catboost.yandex
Ich verwende Mac OS Mojave 10.14.5 und folge den Anweisungen für Mac OS unter https://xgboost.readthedocs.io/en/latest/build.html# . Zusamenfassend:
brew install cmake
brew install [email protected]
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