kaggle全力でやります

Kaggle Grandmasterを目指してやったことを、記録します

Kaggle apiとPythonを使って、サブミットをする方法

kaggle apiについては、kaggle-apiというKaggle公式のapiの使い方をまとめます - kaggle全力でやりますで、使い方をまとめました。
サブミットやデータセットのアップデートなどは、Pythonから使うのが便利だということに最近気づき、この記事ではサブミットの方法をまとめます。
データセットについては、別記事で書く予定。

Pythonでのサブミットの方法

サブミットするコードは次のようになります。 詳細は、kaggle-apiのコードの該当部分を参照。

from kaggle.api.kaggle_api_extended import KaggleApi

api = KaggleApi()
api.authenticate()  # 認証を通す
csv_file_path = 'csv fileのpathを記載'
message = 'Descriptionを記載'
competition_id = 'competition_idを記載'
api.competition_submit(csv_file_path, message, competition_id)

もう少し具体的に、IEEE-CIS Fraud Detectionコンペで、submit.csvmy first submitというDescriptionでサブミットするコードは次のようにになります。

from kaggle.api.kaggle_api_extended import KaggleApi

api = KaggleApi()
api.authenticate() 
csv_file_path = './submit.csv'
message = 'my first submit'
competition_id = 'ieee-fraud-detection'
api.competition_submit(csv_file_path, message, competition_id)

Pythonで書くといいところ

サブミットするコードを、Pythonで書くと、CVスコアを更新した場合にサブミットするようなコードを簡単に書けるので、便利だなと思いました。