nykergoto’s blog

機械学習とpythonをメインに、雑多な内容をとりとめなく扱うブログです。

python の Xgboost を Windows で使いたい!

pythonwindowsでやるなよ、という意見はごもっともですがでもやりたい時だってあるじゃん?なのでやりましょう。

環境

  • windows10
  • 64bit

必要なものたち

  • git bash
  • MinGW-W64
  • pythonが使える何かしらの環境(Anacondaとか)

git cloneする

git bash を起動して、xgboostをgithubから手に入れます。

ここで注意するポイントが2つ

  • git cloneしたあとに submodule を綺麗にして入れ直すこと。
  • 現在の最新版(2016/06/28現在)のmasterには問題があるようなのでちょっと前の commit に戻すこと。
    コマンドとしては git checkout 9a48a40.

Error installing xgboost · Issue #1267 · dmlc/xgboost · GitHub

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

MinGW-W64のインストール

次にMinGW-W64をインストールします。この時に architecture を x84_64 にセットしてインストールします。加えてデフォルトではC:\Program File直下にインストールすることになっていますが、空文字を避けるためにC:\mingw64とか適当にCドライブ直下に新しくフォルダを作り、そこを指定します。

Pathの設定

環境変数設定からPathを追加します。追加するのはさっきインストールしたMingw64の中にあるmingw32-make.exeが入っているフォルダです。C:\mingw64\mingw64\bin とかになるはず。

f:id:dette:20160628080829p:plain
どうでもいいけどwindows10になって環境変数の編集画面がすごく見やすくなりましたね。個人的には好きです。

コンパイル

make の設定を行ってからコンパイルします。以下のコマンドを先のgit bash 上の、xgboostをコピーした階層で行います

$ cp make/mingw64.mk config.mk
$ make -j4

なんかもにゃもにゃ出るので待ちます。

インストール

成功していれば xgboost の階層に xgboost.exe ができているはずです。python パッケージをインストールする場合には python-pakage フォルダで setup.py を実行します。

$ cd python-package
$ python setup.py install

結構長いですね。はやくconda install xgboostwindowsでも入れられるような幸せな世界になって欲しいです。

参考

stackoverflow.com

github.com