こんにちは、えんせきです。
スキーから帰ってきましたが即日筋肉痛です。若いです。(ドヤァ
XGBoostってなに?
Gradient BoostingとRandom Forestsを組み合わせた学習手法で、スケーリングしやすい特徴がある。
元の論文はこちら
[1603.02754] XGBoost: A Scalable Tree Boosting System
先日の記事で言及したワンホット表現みたいなスパースなデータについては予め分岐の方向を決定するアルゴリズムが入っていて、いい感じに扱える。
ensekitt.hatenablog.com
インストールする
- Gitからクローンしてくる
- ビルドする
- pyenv環境に入る
- pyenv環境にインストールする
PyEnv環境を使っているけど、XGBoost自体はシステムにインストールされるので完全にクリーンってわけじゃないので注意
Gitからクローンしてくる
git clone --recursive https://github.com/dmlc/xgboost
ビルドする
cd xgboost; cp make/minimum.mk ./config.mk; make -j4
pyenv環境に入る
pyenv virtualenv 3.6.0 xgboost pyenv local xgboost
pyenv環境にインストールする
# xgboostディレクトリ内で実行 pyenv local xgboost # Pyenv環境外部だった場合 cd python-package; python setup.py install
動作確認
$ python Python 3.6.0 (default, Mar 1 2017, 01:48:37) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import xgboost as xgb >>> xgb.__version__ '0.7'
バージョン番号が出れば問題なさそう。
$ python Python 2.7.10 (default, Jul 15 2017, 17:16:57) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import xgboost Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named xgboost
システムデフォルト環境だとインストールされていないことがわかる。