Edited at

Kaggle APIの導入とその操作

More than 1 year has passed since last update.


Kaggle APIを使えるようになろう

Kaggleと打ち込むとタイプミスだと判断されてGaggleと変換されてしまうこの頃です。

最近Kaggleが流行ってるわけですが、今回はターミナルから直接コンペに参加したりデータのダウンロードができるようになるKaggle APIの導入とその使い方について、自分が詰まってるところをメモしていきます。


目標

ターミナルからKaggleのコンペに参加できるようになります。

具体的にはデータセットのダウンロードなどができます。

Screen Shot 2018-05-29 at 18.08.28.png

こんな感じになります。

ここからsubmissionなどもできます。


環境

ぼくの環境はMacBook Air early 2015 modelで、

OSはmacOS High Sierra version 10.13.4です。

Screen Shot 2018-05-29 at 17.54.54.png


導入

Kaggle APIの入手と自分のアカウントのcredentialsの入手の2つのフローになります。


Kaggle APIの入手

各自Kaggleのアカウントやpip環境を用意しておいてください。

Kaggle APIは

pip install kaggle

で入ります。

pip以外(condaやsourceなど)を使っている人は、こ↑こ↓から落としてきて、以下の通りのコマンドを叩きましょう。

git clone https://github.com/Kaggle/kaggle-api

cd kaggle-api
python setup.py

多分これでいけると思う(未確認)

これらが終わったら実際にターミナルを叩いてkaggleコマンドが使えるか確認してみましょう。

which kaggle

そしたらちゃんと以下の通りに出ますね。

Screen Shot 2018-05-29 at 18.04.57.png

これでオッケーです。

でもまだkaggleコマンドは使えますが、実際にコンペとかに行く際は自分のアカウントとの紐付けをしなければならないので、次のセクションで紐付けを担うKaggle Credentialsを入手します。


Kaggle Credentialsの入手

自分のKaggleのアカウントのプロフィールのところからKaggle Credentialsを入手しましょう。

自分のプロフィール画面に行き、Edit profileを押します。

そしたら真ん中のあたりにこういうのがあります。

Screen Shot 2018-05-29 at 18.11.06.png

ここからゲットできます。

で、そしたらこれを~/.kaggle/に持っていきます。

~/.kaggle/がない場合は以下の通りで作ります。

mkdir ~/.kaggle/

そしたらあとは先ほどのkaggle.jsonをここに置いておきます。

ぼくはkaggle.json~/Downloadsにあるので、以下の通りのコマンドとなります。

mv ~/.Downloads/kaggle.json ~/.kaggle/

これで大丈夫かと思いきや、これに実行権を付与しないと使えません。

以下のコマンドを打ち込みましょう。

chmod 600 ~/.kaggle/kaggle.json

これでオッケーです!


使ってみる

これでKaggle APIが入ったので実際に使ってみましょう。

kaggle competitions list

これで実際に今やってるコンペのリストが見れればベストです。

Screen Shot 2018-05-29 at 18.08.28.png

では次にコンペを何か選んでtrainデータをダウンロードしましょう。

kaggle competitions download -c home-credit-default-risk -p ./

このコマンドはhome-credit-default-riskというコンペのtrainデータをカレントディレクトリの./に保存するコマンドです。

ちなみにこの-p ./を入れないと~/.kaggle/competitions/というディレクトリに保存されます。

あと、kaggle competitionskaggle cでも有効です。

kaggleコマンドは色々なオプションがあるので、みなさん見てみてください。

kaggleコマンドについてのヘルプは以下の通りです。

kaggle -h

また、kaggle competitions(kaggle cでも可)のヘルプは

kaggle c -h

で様々なオプションを確認できます。

くどいですが、kaggle c downloadのコマンドは

kaggle c download -h

でヘルプが確認できます。

以上で終わりです。


あとがき

今回はkaggleコマンドの導入を解説しましたが、ぼくはコンペのファイルの保存先を指定する-p ./がわからんくてややつまづきました。

そういった動機で今回の記事を。

では