にしやま、Kaggleはじめるってよ。前編。タイタニックデータセットのコンペをお試し。


学生時代、気が狂ったようにデータサイエンス系の本を読み漁り、
『俺はコンピューターサイエンス界の王様になる!』くらいに意気込んでたのに、

いざ社会人になってみると、一ミリもコンピューターサイエンス関連の研究・開発をしてない・・・
これが幸せな選択だったのか、俺にはわからないけど、仕事で出来ないのなら、
趣味でやるしか無いだろう、という発想にようやく至れた。

ということで、Kaggleで俺のやりたいデータサイエンスを速攻とらいしてみよう。

事始めは下の記事見りゃなんとかなる

とりあえず始めたいって人は、下の記事をぱぱっと見ながらルールを覚えれば良いと思う。

自分は甘い蜜を一刻も早く吸いたいので、はじめ方やルールに関する説明はしない。笑

みんな大好きタイタニックデータセットからスタート。

そうは言ってもいきなりCompetition参加すんのはハードル高いし、面倒だよなぁー。
まずは仕組みを理解したいなーっと思っていたら、あるじゃないですか、見慣れたタイタニックデータセット、、、笑

Kaggle初心者が、まずお試しでできるように解説されてるコンペティションで、
期限なし、賞金なしのコンペティションみたいですね。

僕みたいな人間ならば、事始めとして、ここからスタートしましょう。
(👆に参照しといた記事もどっちもここから開始してますね)

今回、この記事では、用意されてる記事とかテンプレートとか使わず、
1から仕組みを理解して、進めてみましょうか!

トップダウン進めよう。まずNotebook作成。

ごにょごにょルールとか前提条件とか読むのめんどくさいから、まずコード書きます。笑
(本当はこういうの、ルールと前提条件を正確に理解することが何より重要だったりするけど、自分はまず触りたいねん。)

ここのページの Notebooks ⇒ Your Work からこのコンペの Notebook が作成できるっぽい。
とりあえず適当にOKとかCreateとか押しておけばOK。違ったら後で直す。笑

こんな感じに画面が現れる。いや、すごすぎ。ブラウザでプログラミングってすごい。

後は書いてRunするだけでしょ、これ多分。凄いなぁー。
今回はお試しだから適当にやるか。

女性が生き残る作戦で予測だ!

今回は事始め記事なので、予測モデルをごりくそに組むことはしない。とりあえず、予測ができるモデルをクソ適当に組んで、
Submitすることを目標にしてる。(Submitの方法をそもそも知りたいので!笑)

なんで今回は、女性は全員助かって、男性は助からない予測モデルを作ります!!!
配列操作とか、データ操作とかまだ苦手です。。。

一応、メイン処理な感じのコードは以下に書いときます。(別に処理してないんだけどね、、、笑)

# 女性は必ず助かる部分のデータ操作部分
sub = pd.DataFrame(pd.read_csv('../input/titanic/test.csv', usecols=['PassengerId', 'Sex']))
sub["Gender"] = sub["Sex"].map({"female": 0, "male": 1}).astype(int)
sub["Survived"] = 0

for index, gender in enumerate(sub["Gender"]):
    if gender == 0:
        sub["Survived"][index] = 1
    else: 
        sub["Survived"][index] = 0

sub = sub.drop(["Sex", "Gender"], axis=1)
sub.head()

詳しい前処理とかは、さっき乗っけたノートを参照してね。これで下コードみたいにサブミットファイルを作ろう。

sub.to_csv('submission.csv', index=False)

はい、これで終了。予測結果ファイルは出来たね。

最後の最後、サブミットして予測精度を確認しよう!!!

最後は流れるように処理を淡々とこなすだけ、画面右上のSave Versionをクリックしましょう。

そうすると以下のような画面が出るので、バージョン名を変えたい場合は変えて、
Save & Run ALL(Commit)をクリックしよう。(まだ、サブミットできるバージョンじゃないよ!という場合には単純に Quick SaveでOK。)

そうすると自分のページが以下のように更新されてます。
今回の場合、76.5%の精度で予測できましたー!という結果らしいです。

きっと女性を優先的に助けたんだろうなという仮設を若干いだきましたね、
データサイエンスはここから仮設の幅を広げて精度をあげるのが面白いんです!!!

最後に結果ファイルをサブミットするために右のOutputタブを選択して、
サブミットしましょう!!終わりです!!

おわりの言葉と次回予告

今回は、Kaggleまじで初めたばっかの初心者が適当に、Kaggleのサブミッションをして、ランキングに参加した記事でした!
やり方自体はクソ簡単、ブラウザでプログラミングできるから余計な環境問題とかは考えないでよし、
純粋にデータサイエンスのみで勝負!ってのがKaggleの醍醐味って事がよくわかりました。

今回は事始めなので、とりあえず女性は生き残る戦術で予測モデルとは呼べないモデルを生成して、
予測してみたら76.5%の予測精度でした、意外と高くてびっくり。。。

多分まだまだ機能的な部分は使いこなせては無いんだろうけど、これから徐々にできるようにしていきたい所存。
次回は若干データサイエンスに入り込み、重回帰予測でやっていこうと思う!

さらばじゃ!!!