読者です 読者をやめる 読者になる 読者になる

xgboost を触る

sklearn の gbdt は密にデータを展開していて, web scale なデータには使えず,つらぽよなので, 他の gbdt を使ってモデルを作る前段階として, xgboost を install して使ってみる

github.com

いままで xgboost はチェックしてなかったけど,

External Memory Version
Distributed XGBoost now runs on YARN

このあたりが実装されていて,現実的な問題を解くのに使えそう...

Docker image

同じ環境で試せるように Docker を使う(VMでもいいのだけれど)

registry.hub.docker.com

とりあえず,Dockerhub に上げてみました

$ sudo docker run -i -t laughing/xgboost /bin/bash

で Docker image をダウンロードしてくれるはず

python sample.py する

https://github.com/dmlc/xgboost/blob/master/doc/python.md に書いてあるコードをコピペしただけの /tmp/sample.py を実行する(Docker image にいれた)

root@cffe2fb2c6d6:/tmp# python sample.py
6513x126 matrix with 143286 entries is loaded from /tmp/xgboost/demo/data/agaricus.txt.train
1611x126 matrix with 35442 entries is loaded from /tmp/xgboost/demo/data/agaricus.txt.test
[0]     eval-auc:0.960373       train-auc:0.958228
[1]     eval-auc:0.979930       train-auc:0.981413
[2]     eval-auc:0.998518       train-auc:0.997070
[3]     eval-auc:0.998943       train-auc:0.998757
[4]     eval-auc:0.999830       train-auc:0.999298
[5]     eval-auc:1.000000       train-auc:0.999585
[6]     eval-auc:1.000000       train-auc:0.999585
[7]     eval-auc:1.000000       train-auc:0.999916
[8]     eval-auc:1.000000       train-auc:0.999916
[9]     eval-auc:1.000000       train-auc:1.000000

というわけで,動きましたまる

使っているデータはマッシュルームなんだけど,完全に分離出来てるんだよなぁ...

マジック・マッシュルーム―幻覚性キノコと人工的な異次元体験

マジック・マッシュルーム―幻覚性キノコと人工的な異次元体験