田中TOMのめざせKaggleMaster #7

動画リンク

田中TOMのめざせKaggleMaster #7 コンペティションに挑戦だ!!

Next Competition

WSDM - KKBox’s Churn Prediction Challenge | Kaggle

KKBoxという定額音楽配信サービスの離脱を予想する。

概要(もとの文は英語なので間違ってるかも)
KKBoxのサービスは30日毎にアカウントの更新を行う、今回の問題では2017年4月にてサービスが継続されるか解約(churn)を予想する。

「解約」の基準は、現在のメンバーシップの有効期限が切れてから30日以内に申し込むかどうか。
自動継続オプションも存在する。

提供されているファイルの内容

情報ごとにファイルが別れている。
ログのファイルサイズが圧縮されて6GB超え

  • train.csv: 2017年3月の継続・解約情報。目的変数
  • transactions.csv: 2017年3月31日までの契約更新情報。支払い方法など
  • members_v3.csv: ユーザー情報(年齢、性別、住んでいる街など)
  • user_logs:2017年3月のユーザサービス利用状況。日毎に曲の何%まで聞いたかの曲数ログ

kernel

例の如く良さげなkernelをあさってみた
Should I stay or should I go? – KKBox EDA

Julia Now

kkbox触りだけ
kkbox.ipynb

News

田中TOMのめざせKaggleMaster #6

動画ULR

田中TOMのめざせKaggleMaster#6 たなかTOMは あたらしく SVMを おぼえた!

線形SVM

理論

データクラスを分離する境界を決定する学習器。
最も境界に近いデータとの距離を最大にするような境界を探す。
境界 = 識別超平面
境界に最も近いデータ = サポートベクター

ちなみに
SVC ≒ SVM っぽい

scikit-learnのlinearSVC

実行結果

C = 0.2 / train = 0.810325476992 / score = 0.77990
C = 1.0 / train = 0.809203142536 / score = 0.78468
C = 3.0 / train = 0.810325476992 / score = 0.77990

 

Julia Now

AWS の Deep Learning AMI を使って EC2 インスタンス上で 最新のJuliaを動かせるように

  • AWSのEC2インスタンス上に最新のJuliaとMXNet.jlを導入するのはすごい大変でした。
  • 今回作ったものはAMIとして公開してあります。
  • やっとMXNet.jlでGPU環境が整った
  • MXNetで学習をしてみたけど、過学習発生中。。。
  • あと数日中に MXNet 0.12 対応版の MXNet.jl もリリースされるっぽい https://github.com/dmlc/MXNet.jl/pull/304

News

AWS の Deep Learning AMI を使って EC2 インスタンス上で 最新のJuliaを動かせるように

以前 Deep Learning AMI を使うことで気軽に MXNet を GPU 上で動かせた。

【動画解説】AWS の Deep learning 用 AMI で MXNet を動かす

ただし、自分の今触っている Julia 言語が AMI にインストールされておらず、最新版(現在 v0.6.1) を動かしてGPU処理をするまで持っていった。Amazon Linux だとライブラリ周りのバージョンが追いついていなかったので、今回はUbuntu版のDeep Learning AMI(タイプはGPUが使えるp2.xlarge)を利用して構築。

まずは普通にEC2のインスタンスにアクセスして、rootユーザになり、julia の v0.6.1 を make する。(CPU4コア使っても1時間ぐらいかかる。。。)

$ sudo su -
# apt-get update
# apt-get install libpango1.0-0 -y
# add-apt-repository ppa:staticfloat/julia-deps -y
# apt-get update
# cd /usr/local/src
# git clone https://github.com/JuliaLang/julia.git
# cd julia
# git checkout v0.6.1
# echo "JULIA_CPU_TARGET=core2" > Make.user
# make -j 4 julia-deps
# make -j 4
# make install
# ln -s /usr/local/src/julia/julia /usr/local/bin/julia

ubuntuユーザに戻して、Juliaを起動して

> Pkg.add("IJulia")
> Pkg.add("MXNet")
Julia v0.6.1 で MXNet.jl v0.2.3 はインストールに失敗するので master 版を取ってきてbuildする。https://github.com/dmlc/MXNet.jl/issues/316
> Pkg.checkout("MXNet")
> Pkg.build("MXNet')

再び、MXNetをbuildで待たされる。(これも1時間ぐらいかかるかも。。。)

なんとかこれで使えるようになった。GPUも有効にしてもエラーにならずに起動できている感じ。

オハイオリージョンで ubuntu-deep-learning-ami-with-julia-ijulia-mxnet(ami-e482ad81) という名前でAMIを公開してあります。たぶん、サンプルコードとかは動くはず。

 

田中TOMのめざせKaggleMaster #5 進捗ダメです

動画URL

田中TOMのめざせKaggleMaster #5 進捗ダメです

AWS で MXNet を試してみた

AWS の Deep learning 用 AMI で MXNet を動かす
– サンプルコードだがMXNetでGPUも使いやすいし、公式がサポートしている分動作は安定している
– Julia環境を入れようとすると結構面倒

アドベントカレンダー

今年もアドベントカレンダーの季節に

参加予定アドベントカレンダー

Kaggle進捗


次週もTitanicやります。。。

Julia now

Juliaの勉強会へ参加してきた

Juliaの勉強会へ参加してきた
– Juliaのデータサイエンス本を購入していて、ちょうどその勉強会だった
– 書籍のJuliaのバージョンがv0.4で結構コードがエラーになってしまう
– 最近出版された機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書) | 須山 敦志, 杉山 将 はサンプルのコードがJulia(v0.6)で書かれているみたいなので、次はこれを読んでいく予定

News

Juliaの勉強会へ参加してきた

最近 Julia のデータサイエンス本を購入。

ちょうど、この書籍に関する勉強会が開催されるのを知り参加してみる。

Juliaデータサイエンスワークショップ - connpass

やはりというか、書籍で書かれているJuliaのバージョンがv0.4で現在はv0.6なので、動かないコードが多い印象。(公式 github は更新がなく、日本の出版社もv0.6対応は近日公開になっている。。。)発表者の方が、一部v0.6でも動くようにしてもらっていたので助かった。

data-refinement/Julia-for-Data-Science

この勉強会を開催するに至った経緯に次の本の話があり、この本の著者が公開しているサンプルコードは Julia のコードで書かれているみたいで、今後もJuliaは科学計算分野で使われていきそう。

「機械学習スタートアップシリーズ ベイズ推論による機械学習入門」のサンプルコード(コチラは最新のv0.6で書かれている)

最初に紹介したJuliaのデータサイエンス本の次はこれを読んでいくのと、勉強会でJuliaで書かれている(他の言語でのライブラリのAPIを叩いていない)deep learningライブラリの hshindo/Merlin.jl(国産ライブラリ) や pluskid/Mocha.jl の存在を知ったので触っていこうと思う。