Kaggleコンペに参加してみました。(その1)

Keepdata株式会社 開発Divの瀧田です。
今回からKaggleコンペに参加した感想を3回程度に分けて書いていこうと思います。
第1回はKaggleの利用と分析モデルを提出するまでをつらつら書いていきます。
初心者の私にも簡単にコンペに参加出来るとお伝え出来ればと思います。

kaggle competitionsとは?

企業がコンペ形式で課題とデータを提示し、 そのデータを元にコンペの参加者がそれぞれ分析モデルを作り、作成したモデルの精度を競い合うサイトです。
 また、高い精度のモデルを作成した人には、 (分析モデルの永続的かつ取り消し不可能な無償利用権に同意すれば、) 課題を提示した企業から賞金が貰えちゃったりします。  

どういう人向け?

機械学習に興味がある人なら、それこそ私のような初心者から、
コンペの上位に名前を連ねるような専門家まで楽しめるサイトです。
また、始めるまでの敷居は高くない(はず)です。

今回参加したコンペ

いきなり企業が提示した課題に参加するのは無謀なので、チュートリアル的な位置にある
タイタニック号の(乗客が生存したか死亡したかを予測する)コンペに参加しました。
このコンペでまずは予測モデルの作成方法を学びます。

参加して提出までやってみた

1. Titanicのコンペに参加

Kaggleのサイトにアクセスして
ユーザ登録を済ませた後、まずはCompetitionsページに行きます。 f:id:k-takita:20180524070313p:plain   下にスクロールし、コンペの中からTitanic: Machine Learning from Disasterを選びます。
f:id:k-takita:20180524071951p:plain

Join Competitionからコンペに参加します。 f:id:k-takita:20180524072400p:plain

Kernelページに移動します。 f:id:k-takita:20180524072405p:plain

New Kernelから、モデル作成を始めます。 f:id:k-takita:20180524072410p:plain

モデルを作成するには、ScriptとNotebookの2通りあります f:id:k-takita:20180524072414p:plain
今回はNotebookで作成をしました。

2. Notebookの使い方

Notebookの画面は下記の画像のようになっています。 f:id:k-takita:20180524075403p:plain

白地の部分にコードを書き、左上の▶︎で書いたコードを実行します。
実行結果は下の黒字部分に表示されます。
提出するには、右上のCommit & Runをクリックしたのち、
右側のメニューからVersionsを選び、OutputタブからSubmit to Competitionで提出します。

3. とりあえず提出する

提出するファイルは現在のディレクトリにあるCSVファイルになります。 よって、今回の記事ではサンプルデータ(../input/gender_submission.csv)を読み込み、 現在ディレクトリにそのまま出力するコードを書いています。 ちなみにサンプルデータをそのまま提出した場合、
スコアは0.76555%(予測の精度は76.5%)程度になるはずです。

今後の予定

残念ながら、今回はここまでです。
実際にコンペに参加して提出までやった感想として、
英語さえ読めれば参加のハードル自体はそんなに高くないように思いました。

第2回ではモデルを作成するまでの前処理や特徴量についてと、
出来たら実際に学習を行いモデルを作成し、評価するところまでを記事にする予定です。

では次回もよろしくお願いします。