データサイエンティストハトリのブログ

PythonとインテリジェントクラウドとAIが好きな学生エンジニア。データ分析、スクレイピング、就職活動などについて書いていきます。

【チュートリアル】kaggle-apiがとても便利!導入方法と使い方を解説!

f:id:hatorihatorihatorik:20180916030549p:plain

 

こんにちは、どうもハトリです!!

TwitterでプログラミングやIT関連のことについてつぶやいているのでよかったら是非フォローしてください →→(@tori_engineer)


kaggleにAPIが登場した

kaggleにAPIがあったようです。(今しりました)

kaggleAPIを使えばデータのダウンロードやいろんな情報の可視化をコマンド1つで簡単に行うことができます。
 
タイタニックのデータセットを例に今回は紹介をしていきたいと思います。

初めてkaggleをやる人がかならず行き着くタイタニックコンペですが、私も昔やっていました。実際タイタニックコンペで、いろんなサイトのチュートリアルを見たり、自分で考えてsubmitしていくうちに、kaggleの全体像が何となくわかってきた気がしています。

ただ、全部英語で書かれているのが難点です。私自身英語がかなり苦手だったため、google翻訳とにらめっこ、かなり効率が悪いので日本語でまとめてみました。

参考URL
github.com

kaggle-apiの使い方、導入方法

kaggleをインストール

pip install kaggle

MyAccountページからAPIkeyを取得

画面右上にあるMyAccountをクリックして、自分のアカウントページに移動します。

「Create API Token」をクリックすると、「Ensure kaggle.json is in the location ~/.kaggle/kaggle.json to use the API.」という表示が現れたら成功です。

f:id:hatorihatorihatorik:20181115043940p:plain

「kaggle.json」というファイルが生成され、ダウンロードされているかと思います。

jsonファイルを設定

ダウンロードした「kaggle.json」を「~/.kaggle/kaggle.json」におきます。kaggleフォルダを作ってからそこに移動させるっていう流れです。下記コマンドを実行します。

mkdir ~/.kaggle
mv ~/Downloads/kaggle.json ~/.kaggle/
chmod 600 ~/.kaggle/kaggle.json

上記コマンドでパーミッションが設定できたら完了です。

kaggle-apiで使用できるコマンド


kaggle-apiでは下記コマンドが使用可能となっています。

kaggle competitions {list,files,download,submit,submissions,leaderboard}
kaggle datasets {list, files, download, create, version, init}
kaggle kernels {list, init, push, pull, output, status}
kaggle config {view, set, unset}

とりあえずダウンロードをしたい場合

データセットをダウンロードしたい場合はコマンド1つをコピペすれば簡単にダウンロードが完了します。

下記画像の赤枠の部分をコピーしてターミナルに貼り付けてみましょう。

f:id:hatorihatorihatorik:20181116013147p:plain

zip形式でデータが保存されたでしょうか。これはunzipコマンドで回答すればすぐに使えるデータとして保存されますのでぜひ活用してみてください。

その他厳選したkaggle-apiコマンド

今回はkaggleでタイタニック号コンペに参加する人が必要になるであろうコマンドを厳選してご紹介します。


タイタニック号コンペのデータをダウンロード
>|sh|
kaggle competitions download -c titanic
|


・submit.csvをサブミットする

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


・サブミット一覧を表示

kaggle competitions submissions -c titanic


kaggle-apiを利用する上で重要なコマンドをご紹介しました。他にもたくさんコマンドが用意されていますので、気になる方はgithubのページをみてみるといいでしょう。
github.com