通常kaggleコンペでは、データセットのダウンロードから、結果の提出までを、kaggleサイト上で行います。しかし、kaggle-apiを使うことで、データセットのダウンロード、コンペ一覧表示、submission、leaderboardの確認など、ほとんど全ての作業をコマンドライン から行うことができます!
今回はkaggle-apiを使った、データセットダウンロードと、submissionを行う方法をご紹介します。
kaggle-apiのインストール
まずは、kaggle-apiをインストールします。
pip install kaggle
次に自分のkaggleアカウントページからAPIを作成します。
アカウントページに移動
ページ中段にあるCreate API Token
をクリック
これでkaggle.json
というファイルがダウンロードされます。
場所は、以下にあります。
- mac:
~/.kaggle/kaggle.json
- windows:
C:\Users\<Windows-username>\.kaggle\kaggle.json
最後にkaggle.json
の権限を変更すれば、準備は完了です。
chmod 600 ~/.kaggle/kaggle.json
データセットをダウンロード
さて、実際にデータセットをダウンロードしてみましょう。 今回はタイタニックデータセットを使います。
以下のコマンドでデータをダウロードして、解凍できます。ちなみに、ダウンロードするためのコマンドは各コンペのページに記載してあります。
Titanic: Machine Learning from Disaster | Kaggle
#ダウンロード kaggle competitions download -c titanic #解凍 unzip titanic.zip #確認 ls >gender_submission.csv test.csv titanic.zip train.csv
全てのファイルがダウンロードできていますね!
apiでsubmission
最後にsubmissionしてみましょう。今回は最初から入っているgender_submission.csv
を提出します。
kaggle competitions submit titanic -f gender_submission.csv -m "api submission" >Successfully submitted to Titanic: Machine Learning from Disaster
gender_submission.csv
を"api submission"というメッセージをつけて提出しました。上記のようなメッセージが出たら完了です。
確認してみましょう。
実際にsubmissionできています!
まとめ
kaggle-apiを使えば、データの取得から提出までをコマンドライン 上で行えるので、便利ですね。