DISTRICT 37

なにか

Kaggle API

久しぶりにKaggleでもやってみようかとサイトを訪れたらAPIが開発されていた。いっちょやってみっか

APIのインストール

github.com

KaggleのGithubにインストール方法は書いてある。その通りにやれば間違いない。

pip install kaggle

これでインストールは完了。pipは本当に便利。

APIトークンの配置

続いてAPIトークンのダウンロードと配置

https://www.kaggle.com/<username>/account

Kaggleのアカウントページにそれは置いてあるので、上記リンクの<username>を適宜読み替えてアクセス。

f:id:dragstarclassic:20180928151110p:plain

ページの真ん中あたりにあるCrete New APITokenを押したらjsonファイルが落ちてくる。このファイルをLinux環境なら~/.kaggle/kaggle.jsonとして保存。加えて対象ファイルのパーミッションを変更

chmod 600 ~/.kaggle/kaggle.json

これで初期設定は完了。kaggleとコマンドを打ってみてエラーが出なければ成功。

Proxy

おなじみProxyの設定。こんな感じ

kaggle config set -n proxy -v http://yourr.proxy

他にも設定できる項目があるのでヘルプを見てそれっぽいコマンドを入力したらいい

kaggle config set -h

ちなみに現在の設定を見るコマンドはこちら

kaggle config set

しゃらくせえと思ったなら件のkaggle.jsonファイルを直接編集してやったらいい。何かしらの設定をしてしまって壊してしまった場合でもusernamekey以外を消してしまえばいい。それか、またアカウントページから新しいjsonを発行して持ってくるといい。

ダウンロード

コンペのページに行くと、データのページにこんな感じで表示されている。

f:id:dragstarclassic:20180928151936p:plain

APIと書かれている箇所をクリックするとkaggleコマンドがクリップボードにコピーされるので、シェルにぶち込むとデータが落ちてくる。

kaggle competitions download -c titanic

403 Forbiddenが出る場合はそのコンペに参加していない場合があるので、コンペのページからJOINしたらいい。この現象については大分はまったので、今後も気を付けたい。

サブミット

処理が終わって自慢のpred.csvをサブミットすることもAPIからできる。

kaggle competitions submit -c titanic -f pred.csv -m test

Titanicのコンペにpred.csvを投稿するよ。メッセージはtestでよろしく。という意味になる。

APIが便利になっても腕前が上がるわけではないんですけどね!!!!