wake-up-neo.com

Wie installiert man das xgboost-Paket in Python (Windows-Plattform)?

http://xgboost.readthedocs.org/de/latest/python/python_intro.html

Auf der Homepage von xgboost (oben Link) heißt es: Um XGBoost zu installieren, gehen Sie folgendermaßen vor:

  1. Sie müssen make im Stammverzeichnis des Projekts ausführen

  2. Im Python-Paketverzeichnis ausführen

    python setup.py installieren

Wenn ich es jedoch getan habe, wird für Schritt 1 der folgende Fehler angezeigt: Make: Der Begriff "make" wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüf den Schreibweise des Namens oder wenn ein Pfad angegeben wurde, überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut.

dann überspringe ich Schritt1 und habe Schritt 2 direkt ausgeführt. Ein weiterer Fehler wird angezeigt:

Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    LIB_PATH = libpath['find_lib_path']()
  File "xgboost/libpath.py", line 44, in find_lib_path
    'List of candidates:\n' + ('\n'.join(dll_path)))
__builtin__.XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?

Weiß jemand, wie man xgboost für Python auf der Windows10-Plattform installiert? Danke für Ihre Hilfe!

43
Robin1988

Ich habe XGBoost erfolgreich in Windows 8 64bit, Python 2.7 mit Visual Studio 2013 installiert.

Aktualisiert am 15/02/2017

Mit der neueren Version von XGBoost sind hier meine Schritte

Schritt 1. Installieren Sie cmake https://cmake.org/download/

Stellen Sie sicher, dass cmake erfolgreich installiert wurde

$ cmake
Usage

cmake [options] <path-to-source>
cmake [options] <path-to-existing-build>
...

Schritt 2. Klon xgboost source

$ git clone https://github.com/dmlc/xgboost xgboost_dir

Schritt 3. Erstellen Sie ein Visual Studio-Projekt

$ cd xgboost_dir
$ mkdir build
$ cd build
$ cmake .. -G"Visual Studio 12 2013 Win64"

Schritt 4. Erstellen Sie ein Visual Studio 2013-Projekt

  • Öffnen Sie die Datei xgboost_dir/build/ALL_BUILD.vcxproj mit Visual Studio 2013
  • Öffnen Sie in Visual Studio 2013 den BUILD > Configuration Manager...
    • wählen Sie In aktiver Lösungskonfiguration freigeben
    • wählen Sie x64 in der Active Solution-Plattform
  • Klicken Sie auf BAUEN> Lösung erstellen (Strg + Umschalt + B).

Nach der Erstellungslösung werden zwei neue Dateien libxgboost.dll und xgboost.exe im Ordner xgboost_dir/lib erstellt.

Schritt 5. Erstellen Sie ein Python-Paket

  • Datei libxgboost.dll nach xgboost_dir/python-package kopieren
  • Wechseln Sie in das Verzeichnis xgboost_dir/python-package
  • Befehl ausführen python setup.py install

Stellen Sie sicher, dass xgboost erfolgreich installiert wurde

$ python -c "import xgboost"

Alte Antwort

Hier sind meine Schritte:

  1. git Klon https://github.com/dmlc/xgboost
  2. git checkout 9bc3d16
  3. Projekt in xgboost/windows mit Visual Studio 2013 öffnen
  4. Öffnen Sie in Visual Studio 2013 BUILD > Configuration Manager...,
    • wähle Release in Active solution configuration
    • wähle x64 in Active solution platform
  5. xgboost, xgboost_wrapper neu erstellen
  6. Kopieren Sie alle Dateien im Ordner xgboost/windows/x64/Release nach xgboost/wrapper
  7. Gehen Sie zu xgboost/python-package und führen Sie den Befehl python setup.py install aus.
  8. Überprüfen Sie xgboost, indem Sie den Befehl python -c "import xgboost" ausführen.
20
Vu Anh

Falls jemand nach einer einfacheren Lösung sucht, die nicht selbst kompiliert werden muss:

  1. laden Sie die xgboost whl-Datei von here herunter (stellen Sie sicher, dass Ihre Python-Version und Systemarchitektur übereinstimmt, z. B. "xgboost-0.6-cp35-cp35m-win_AMD64.whl" für Python 3.5 auf einer 64-Bit-Maschine)
  2. Öffnen Sie die Eingabeaufforderung
  3. cd in Ihren Downloads-Ordner (oder wo auch immer Sie die Whl-Datei gespeichert haben)
  4. pip install xgboost-0.6-cp35-cp35m-win_AMD64.whl (oder wie Ihre Whl-Datei heißt)

Wenn Sie feststellen, dass die Installation aufgrund einer fehlenden Abhängigkeit nicht möglich ist, laden Sie zunächst die Abhängigkeit herunter und installieren Sie sie. Versuchen Sie es dann erneut. 

Wenn Sie sich über Zugriffsberechtigungen beschweren, öffnen Sie den Befehl Eingabeaufforderung als Administrator, und versuchen Sie es erneut.

Dies gibt Ihnen Xgboost und den Scikit-Learn-Wrapper und erspart Ihnen die Notwendigkeit, sich die Mühe machen zu müssen, ihn selbst zu kompilieren. :)

142
brettlyman

Beachten Sie, dass die Anweisungen für Microsoft Visual Studio ab der neuesten Version nicht mehr zutreffen, da dieser Link einen Fehler 404 zurückgibt:

https://github.com/dmlc/xgboost/tree/master/windows

Weitere Informationen zum Entfernen des MSVC-Builds finden Sie in Tianqi Chens Kommentar hier .

So habe ich einen 64-Bit-Build unter Windows fertiggestellt:

  1. Laden Sie MinGW-64 herunter und installieren Sie es: http://sourceforge.net/projects/mingw-w64/
  2. Stellen Sie auf dem ersten Bildschirm der Installationsaufforderung sicher, dass Sie für die Architektur x86_64 und für die Threads win32 festgelegt sind.
  3. Ich habe C:\mingw64 installiert (um Leerzeichen im Dateipfad zu vermeiden) und fügte dies der Umgebungsvariable PATH hinzu: C:\mingw64\mingw64\bin
  4. Mir ist auch aufgefallen, dass das in bin\mingw64 enthaltene make-Dienstprogramm mingw32-make heißt. Um es zu vereinfachen, habe ich es einfach in make umbenannt.
  5. Öffnen Sie eine Windows-Eingabeaufforderung und geben Sie gcc ein. Sie sollten etwas wie "fataler Fehler: keine Eingabedatei" sehen
  6. Nächster Typ machen. Sie sollten etwas wie "Keine Ziele angegeben und kein Makefile gefunden" sehen
  7. Geben Sie git ein. Wenn Sie kein Git haben, installieren Sie es und fügen Sie es Ihrem PATH hinzu.

Dies sollten alle Werkzeuge sein, die Sie zum Erstellen des xgboost-Projekts benötigen. Um den Quellcode zu erhalten, führe diese Zeilen aus:

  1. cd c: \
  2. git clone --recursive https://github.com/dmlc/xgboost
  3. cd xgboost
  4. git Submodul init
  5. git submodule update
  6. cp make/mingw64.mk config.mk
  7. machen Sie -j4

Beachten Sie, dass ich diesen Teil von einer Cygwin-Shell aus ausgeführt habe. Wenn Sie die Windows-Eingabeaufforderung verwenden, sollten Sie in der Lage sein, cp zu kopieren und dasselbe Ergebnis zu erhalten. Wenn der Build jedoch aus irgendeinem Grund fehlschlägt, würde ich empfehlen, es erneut mit cygwin zu versuchen.

Wenn der Build erfolgreich abgeschlossen wurde, sollte sich im Projektstamm eine Datei namens xgboost.exe befinden. So installieren Sie das Python-Paket: 

  1. cD-Python-Paket
  2. python setup.py installieren

Jetzt solltest du gut sein. Öffnen Sie Python und Sie können das Paket mit importieren:

import xgboost as xgb

Um die Installation zu testen, habe ich die Datei basic_walkthrough.py ausgeführt, die im Ordner Demo/guide-python des Projekts enthalten war und keine Fehler erhalten hat. 

29
Disco4Ever

Ich habe gerade xgboost sowohl für meinen Python 2.7 als auch für Python 3.5, Anaconda, 64-Bit-Rechner und 64-Bit-Python installiert.

beide SEHR einfach, KEIN VS2013 oder git erforderlich.

Ich denke, es funktioniert auch für normale Pythons.

Wenn Sie Python 3.5 verwenden:

1: download das Paket hier , die Version hängt von Ihrer Python-Version ab, Python3.5 oder Python 3.6, 32bit oder 64bit. 

2: Verwenden Sie das Befehlsfenster, verwenden Sie cd, um den Downloadordner als pwd festzulegen, und verwenden Sie dann

pip install filename.whl

OK, fertig . Für detailliertere Schritte siehe diese Antwort

wenn Sie Python 2.7 verwenden, Sie müssen das VS2013 NICHT herunterladen, um es selbst zu erstellen, da ich es erstellt habe, können Sie die von mir erstellte Datei herunterladen und direkt installieren.

1: Lade es herunter hier bei google drive

2: Laden Sie es herunter, dekomprimieren Sie es und fügen Sie es hier ein:

"Ihr Python-Pfad\Lib\Site-Packages"

Dann solltest du so etwas aussehen lassen:

 enter image description here

3: Verwenden Sie im oben gezeigten Python-Paketordner cmd window, dort cd und führen Sie es aus

python setup.py install 

verwenden Sie diesen Code 

 import xgboost 

wenn Sie in Ihrem Python prüfen möchten, ob Sie mingw-64 installiert haben oder nicht, bedeutet keine Fehlerinformation, dass Sie den mingw-64 installiert haben und fertig sind.

Wenn es Fehlerinformationen gibt 

"WindowsError: [Fehler 126]"

Das bedeutet, dass Sie mingw-64 nicht installiert haben und noch einen weiteren Schritt vor sich haben.

Laden Sie die mingw-64 hier herunter: http://sourceforge.net/projects/mingw-w64/

Wählen Sie x86_64 anstelle des Standardwerts "i686", wenn Sie den mingw-64 installiert haben... Fügen Sie dann "Ihren Installationspfad\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin;" hinzu. Zu Ihrem PFAD sollte es ungefähr so ​​sein:

"C:\Programme\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin;"

(das ist meins).

Vergiss nicht das ";" in dem Weg.

Dann sind Sie fertig, Sie können verwenden 

import xgboost 

in deinem Python, um das zu überprüfen, ja!

PS: Wenn Sie nicht wissen, wie Sie einen Pfad hinzufügen, googlen Sie ihn einfach, um Lösungen zu erhalten. Mach dir keine Sorgen, es ist sehr einfach.

10
Statham

Wenn Sie XGBoost für ein bestimmtes Projekt installieren und Pycahrm verwenden, müssen Sie die folgenden Schritte ausführen:

  1. Laden Sie xgboost‑0.72‑cp36‑cp36m‑win_AMD64.whl von Here herunter (da ich Python 3.6 verwende, wenn Sie eine andere Python-Version wie 2.7 verwenden, müssen Sie xgboost‑0.72‑cp27‑cp27m‑win_AMD64.whl installieren).

  2. Kopieren Sie das in Ihr Project Interpreter-Verzeichnis. Sie finden das Verzeichnis des Projektinterpreters, indem Sie in Pycharm auf File -> Settings -> Project Interpreter klicken.

  3. Eingabeaufforderung öffnen Wechseln Sie in das Verzeichnis Ihres Projektinterpreters von cmd. Schreiben Sie den folgenden Befehl: pip install xgboost-0.72-cp36-cp36m-win_AMD64.whl

3
Akib Khan

Das Hinzufügen von "git checkout 9a48a40" zu der oben genannten Lösung von Disco4Ever funktionierte für mich:

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git checkout 9a48a40
git submodule init
git submodule update

Dies wurde ursprünglich von Cortajarena hier veröffentlicht: https://github.com/dmlc/xgboost/issues/1267

Außerdem hatte ich ursprünglich 32-Bit-Python auf meiner 64-Bit-Maschine und musste 64-Bit-Python hochladen, damit XGBoost funktioniert.

1
ezchx

Kopieren Sie nach dem Erstellen der C++ - Version die Release-DLL- und -Lib-Dateien in ../windows/x64/Release/..( (wenn Sie die x64-Version erstellen) nach ../wrapper/ und führen Sie dann python setup.py install aus 

1
user5733275

Sie können xGBoost mit Visual Studio oder minGW installieren. Da auf der offiziellen xgboost-Website steht, dass der MSVC-Build noch nicht aktualisiert wurde, habe ich versucht, mingw64 ..__ zu verwenden. Die folgenden Schritte waren:

1) Befolgen Sie die Schritte von Disco4Ever für die Installation von ming64 (oben in den Antworten erwähnt).

2) Installieren Sie Git für Windows. windows download link . Dadurch wird auch Git Bash installiert. Fügen Sie git-Installationsverzeichnis\cmd zur PATH-Liste der Systemumgebungsvariablen hinzu.

3) Klonen Sie nun xGBoost an der gewünschten Stelle. Geben Sie Folgendes in cmd ein:

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git submodule init
git submodule update
cp make/mingw64.mk config.mk
make -j4

4) Im xgboost-Stammverzeichnis sollte sich ein Shell-Skript mit dem Namen "build" befinden. Öffne es. Es öffnet sich ein Git Bash und beginnt mit dem Aufbau. Nach dem Erstellen wird die Datei xgboost.exe erstellt.

5) Installieren Sie jetzt das Python-Paket:

cd python-package
python setup.py install

Sie können testen, indem Sie xgboost in Python importieren. 

1
Aman Gill

Dank disco4ever antworten. Ich habe versucht, Xgboost für die Python Anaconda-Umgebung in meiner Windows 10 64-Bit-Maschine zu erstellen. Gebrauchte Git, Mingw64 und grundlegende Windows-Cmd.

Alles funktionierte für mich bis zum Kopierschritt: cp make/mingw64.mk config.mk, da ich Windows cmd verwendete, änderte ich es, um c:\xgboost\make\mingw64.mk c:\xgboost\config.mk zu kopieren

als ich mit dem nächsten Schritt fortfuhr: make -j4, bekam ich eine Fehlermeldung, dass der Build fehlgeschlagen ist. Zu diesem Zeitpunkt müde sich nach so viel Frustration einfach etwas anderes, indem Sie auf build.sh (Shell-Skript) klicken. Es wurde gestartet und automatisch beendet. 

Dann habe ich den gleichen Schritt make -j4 ausgeführt, bis mein Awe Build erfolgreich war. Ich habe die am meisten erwartete Datei xgboost.exe in meinem Ordner xgboost gesehen. 

Ich fuhr dann mit weiteren Schritten fort und führte python setup.py install aus. endlich alles perfekt installiert. Dann ging ich zu meinem Spyder und überprüfte, ob es funktioniert oder nicht. Ich war jedoch einen Schritt von meinem Glück entfernt, weil ich immer noch den Importfehler sah. 

Alle Eingabeaufforderungen (Anaconda, Git-Bash, Windows-CMD, Cygwin-Terminal) wurden geschlossen. Anschließend wurde erneut Spyder geöffnet und "Import xgboost" eingegeben. ERFOLG, KEIN FEHLER. 

Nochmals vielen Dank für alle.

1
dana

Ich folgte den Schritten, die in https://www.kaggle.com/c/otto-group-product-classification-challenge/forums/t/13043/run-xgboost-from-windows-and-python aufgeführt sind. Ich werde zusammenfassen, was ich unten gemacht habe.

1) Laden Sie Visual Basic Studio herunter. Sie können die Community Edition auf der Website von Visual Studio herunterladen. In der oberen rechten Ecke befindet sich ein "kostenloser Visual Studio-Button".

2) Kopieren Sie alle Inhalte aus dem git hub-Repository von xgboost/tree/master/windows und öffnen Sie das vorhandene Projekt von Visual Studio auf Visual Studio

3) Es gibt ein paar Dropdown-Menüs, die Sie auswählen müssen ("Release" und "X64") und dann Build -> Build All aus dem oberen Menü auswählen. Es sollte ungefähr so ​​aussehen, wie in der beigefügten Abbildung.

4) Wenn Sie die Meldung sehen ========== Build: 3 erfolgreich abgeschlossen, 0 fehlgeschlagen, 0 aktuell, 0 übersprungen ==========, ist alles gut

5) Wechseln Sie zum Ordner python-packages, in dem sich die Installationsdatei für XGB befindet, und führen Sie den Installationsbefehl 'python setup.py install' aus.

Einen ähnlichen Thread finden Sie unter Installieren Sie xgboost unter Python, wobei 32-Bit-msys ausfällt.

Hoffe das hilft.

1
Falconic

Um die Lösung von Disco4ever für diejenigen hinzuzufügen, die versuchen, auf 32-Bit-Windows-Computern aufzubauen.

Nachdem Sie Schritt 6 ausgeführt und eine config.mk-Datei erstellt haben, müssen Sie in diese Datei gehen und die folgenden Zeilen bearbeiten, um die Markierung -m64 zu entfernen

export CXX=g++ -m64
export CC=gcc -m64
1
jim

Ich verwende ein Jupyter-Notebook und habe eine sehr einfache Möglichkeit gefunden, XGBoost in Anaconda zu installieren:

  1. Installieren Sie Anaconda
  2. Öffnen Sie Anaconda Navigator
  3. Aktualisieren Sie in Umgebungen den Index und suchen Sie nach xgboost (nicht installiert).
  4. Wähle libxgboost und py-xgboost und klicke auf "Übernehmen"

Getan

0
maccaroo

Es dauerte einen ganzen Tag, aber ich installierte xgboost unter Windows 7 64-Bit-Box erfolgreich mit TDM-GCCmit aktiviertem OpenMP, anstatt MingW unter diesem Link - http://dnc1994.com/2016/03/install-xgboost-on-windows/

0
Bolaka

Unter Windows 10, mit Python 3.6, funktionierte der folgende Befehl.

Unter Anaconda Prompt kann der folgende Befehl direkt verwendet werden. Der Screenshot ist als Beweis beigefügt . Pip install xgboost  enter image description here

0
Nages

Sie können XGBoost mit den folgenden 3 Schritten installieren: 

  1. Sammeln von Informationen zu Ihrem System (Python-Version und Systemarchitektur - 32 Bit oder 64 Bit)

  2. download verwandte .whl von https://www.lfd.uci.edu/~gohlke/pythonlibs/

z.B. Wenn Ihre Python-Version 3.7 und Windows 32 Bit ist, ist die folgende Datei geeignet: 

xgboost-0.72-cp37-cp37m-win32.whl

  1. führen Sie pip install yourdownloadedfile.whl aus

Ausführliche Schritte finden Sie auch hier

0
farhad rubel

Ich möchte der Lösung von Disco4ever eine kleine Problemumgehung hinzufügen.

Für mich konnte ich in cygwin nicht klonen. Die Problemumgehung besteht also darin, den Befehl in Windows mit Eingabeaufforderung und den Rest der Aufgabe in cygwin auszuführen.

Verwenden Sie cd c:\xgboost in der 3. Zeile, damit es in cygwin funktioniert. Der aktualisierte letzte Teil ist also so.

cd c:\
git clone --recursive https://github.com/dmlc/xgboost
cd c:\xgboost
git submodule init
git submodule update
cp make/mingw64.mk config.mk
make -j4

Nach Abschluss der Installation können Sie git und cygwin deinstallieren. Xgboost und mingw64 müssen jedoch beibehalten werden.

0
boral

Beachten Sie Folgendes: Bevor Sie mit "make -j4" arbeiten, überprüfen Sie mit gcc -v Ihre gcc-Version.

Meine Umgebung ist Win10 + Anaconda (Python 2.7), wenn ich make -j4 starte. Es zeigt einen std :: mutex-Fehler. Nachdem ich gcc-v verwendet habe, wird echo gcc4.7 (anacondas Standard-gcc) verwendet. Nachdem ich meinen gcc auf mingw64s 6.2 gcc eingestellt habe, funktioniert es.

Schließlich benutze ich "/d/Anaconda2/python.exe setup.py install" und installiere xgboost python package.

0
Jayhello

Hier ist ein sehr hilfreicher Link zu wichtigen Punkten , auf die Sie bei der Installation achten müssen. Es ist sehr wichtig, "openmp" zu installieren. Andernfalls erhalten Sie eine Fehlermeldung.

Der Link enthält eine schrittweise Anleitung zur Installation. Hier ist ein Zitat:

Gebäude Xgboost

Um ehrlich zu sein, ist am offiziellen Leitfaden für .__ nichts falsch. xgboost unter Windows installieren. Trotzdem möchte ich gerne einige betonen. Punkte hier, um Ihre Zeit zu sparen.

git clone --recursive https://github.com/dmlc/xgboost  
cd xgboost  
wget https://www.dropbox.com/s/y8myex4bnuzcp03/Makefile_win?dl=1
cp Makefile_win Makefile
cp make/mingw64.mk config.mk
mingw32-make

Makefile_win ist eine (danke von Zhou Xiyou) modifizierte Version des originales Makefile für den Bauprozess unter Windows. Sie können wget es oder lade es hier herunter. Stellen Sie sicher, dass Sie eine UNIX-Shell für diese .__ verwenden. weil Windows CMD ein Problem mit dem Befehl mkdir -p hat. Git Bash ist empfohlen. Stellen Sie sicher, dass Sie die Option --recursive mit git clone verwenden. Sicher sein eine richtige MinGW verwenden. TDM-GCC wird empfohlen. Beachten Sie, dass standardmäßig würde OpenMP nicht für Sie installieren. Sie müssen es angeben, andernfalls die Gebäude würde scheitern.

Ein weiterer hilfreicher Link ist das offizielle Verfahren: Official Guide

Viel Glück!

0
George Liu