はじめてのKaggle（kaggle①）

#はじめに
初めて<b>Kaggle（カグル）</b>のコンペに参加してみたお話です。
最初に「Titanic（タイタニック）」のコンペで試してみます。


#目次
1.Kaggleとは
2.Kaggleに会員登録する
3.Titaticコンペに参加する
4.コードを書いてみる
5.学習結果を提出してみる
6.まとめ
参考



#1.Kaggleとは

カグルと読みます。
Kaggleはアメリカに本部を置く、世界中のデータサイエンス・機械学習に携わる人が参加するコミュニティーサイトです。
Kaggleの目玉と言えるのがコンペです。
コンペは参加者がデータ分析の力を競い合う競技です。
最終的にはコンペに参加して競ってみたいですが、チュートリアルもあるようなので、まずはチュートリアルをやるところから進めたいと思います。


#2.Kaggleに会員登録する

https://www.kaggle.com/
Kaggleのサイトで会員登録します。
すでにGoogleアカウントがあるせいか、「Welcome sudominoru」と表示され、すでに会員登録されている状態でした。

![20191208_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/466019f6-7434-96c2-6291-b5ea6bd41b55.png)

「Edit Profile」から写真をアップロードし、「City」を登録しました。

#3.コンペに参加する
kaggleに挑戦したい人がまずやってみるのは、「タイタニックチュートリアル」とのことです。
このコンペに参加してみます。

![20191208_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/2b7a35f0-4bc5-b2f7-53fb-83ba257310d1.png)

画面上部の「Competitions」を選択すると
Our Titanic Competition is a great first challenge to get started.
(タイタニックコンペティションは、開始するのに最適な最初の挑戦です。)
と言われ、一番上に Titanicが表示されます。クリックしTitanicを選択します。
![20191208_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/18d64e34-3b3a-dc3f-9aeb-5f796089ef55.png)

「Join Competition」をクリックし、Titanicコンペに参加してみます。

![20191208_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/761594ce-6eaf-c928-435c-6ac2a2536586.png)

Please read and accept the competition rules
(コンペルールを読んで同意してください)
とこのとなので、ルールを確認してから同意します。
これで参加できました。

#4.コードを書いてみる
kaggleでは、コードを書く環境が用意されています。
さっそく書いてみましょう。
![20191208_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/00d651e3-70f6-bfc5-0991-540ab0c75616.png)

「Notebooks」から「your Work」をクリックし「Create New Notebook」をクリックします。

![20191208_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/591526b7-14ab-5e53-4791-617744e0c072.png)

言語の選択とタイプ（「Notebook」か「Script」か）を選択します。
言語は「Python」、Typeは「Notebook」を選択しました。
「Notebook」は「Jupyter Notebook」のようなもので「Script」は「Spyder」でコードを書くイメージだと思います。
普段は「Spyder」でコードを書いていますが、Kaggleでは見てもらうことを意識し、説明文を書きつつコードを書きたいので「Notebook」で進めます。

![20191208_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/2d8063ef-6e6e-e835-7cd8-7e9986c9c5c5.png)

上の画像のように「Jupyter Notebook」のような画面が表示されます。
右側のinputディレクトリに、このコンペで利用する学習用データ（train.csv）、検証用データ（test.csv）があります。
「gender_submission.csv」は後で説明しますが、コンペ提出用のサンプルデータです。
試しにサンプルコードをそのまま実行するとファイル名が出力されます。
これでコードを書く準備が整いました。

#5.学習結果を提出してみる

先ほど、「gender_submission.csv」は、コンペ提出用のサンプルデータと言いました。
中身を見てみると「test.csv」と同じPassengerIdがあり、件数も同じです。
流れとしては、以下になります。
1．「train.csv」を使って学習する
2.「test.csv」を使って学習結果を検証する。検証結果を「gender_submission.csv」に出力する
3.「gender_submission.csv」を提出する

試しに、「gender_submission.csv」をそのまま出力してみましょう。

```python
# Any results you write to the current directory are saved as output.

# gender_submission.csvを読み込む
# Load gender_submission.csv
df_gender_submission = pd.read_csv('/kaggle/input/titanic/gender_submission.csv')
# gender_submission.csvをカレントディレクトリに書き込む
# Write gender_submission.csv to the current directory
df_gender_submission.to_csv('gender_submission.csv', index=False)
```

上記のコードを追記し、右上の「Commit」をクリックし実行します。

![20191208_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/0f12f087-190e-66c0-c91d-111aedb9febf.png)

しばらくすると実行結果が表示されます。「Open Version」をクリックします。

![20191208_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/eae085aa-6bb4-a5a8-d4be-163e420d2a1f.png)

結果の内容が表示されます。
画面下の方の「Output Files」に「gender_submission.csv」が出力されたことが確認できます。
「Submit to Competition」をクリックし、提出してみましょう。

![20191208_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545343/f6ce85bd-cc56-0533-4f77-6001c5e81d4c.png)

「Leaderboard」に遷移し、結果が表示されます。
Scoreは「0.76555」になっています。
正解率は「76.5%」だったということです。
「Jump to your position on the leaderboard」で自分の順位に遷移できます。

#6.まとめ
Kaggleの使い方がなんとなく分かりました。
[次回](https://qiita.com/sudominoru/items/583980cc7752b623bd16)は、Titanicで学習を進めたいと思います。

#参考
はじめてのKaggleチュートリアル【初心者入門】
https://note.com/toshioakaneya/n/na582cb273153

#履歴
2019/12/08 初版公開