Kaggleで入賞を目指すブログ

データ解析コンペサイトKaggleに挑みはじめた入門者の記録

Kaggle Titanicのpython tutorialをやってみた

Kaggleの課題は初挑戦ですが、手始めに以下のtutorialをやってみたいと思います。

Pythonパッケージをインストール

必要なPythonパッケージであるnumpy, scipy, pandas, matplotlib, csvが揃っているかどうかを確認。
ちなみに私はPython 2.7.2 / Mac OS X 10.8.5を使ってます。

>>> import numpy
>>> import scipy
>>> import pandas
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pandas
>>> import matplotlib
>>> import csv

pandasがないようなので下記のようにインストール。

sudo easy_install pandas

なんかnumpyのversion conflictが起きたようなので、numpyのバージョンをあげます。

sudo easy_install -U numpy

クソ大量のwarningを吐いたものの、無事にインストールできました。そのあと上記のコマンドでpandasをインストール。こちらもクソ大量のwarningを吐いた後に無事インストールできました。

csvのデータを読み込み

下記のような書き方は知らなかった。特定の項目が特定の場合であるかどうかを判定した配列を作り、それをマスクとして利用している。(この場合は性別が"female"であればtrueとなるような配列を作り、マスクとして利用)

women_only_stats = data[0::,4] == "female"
women_onboard = data[women_only_stats,1].astype(np.float)

また、下記のopenメソッドのrbというのはバイナリモードを意味しているっぽい。

open('xxxx.csv','rb')

xrangeとrangeの違い

ふと気になったので調べてみたが、xrangeは遅延評価されるので、長いrangeを用意した時に食うメモリ量が少ないらしい。途中でbreakが頻発するような場合に有効ぽい。

pandasめっちゃ便利

pandasだとデータの可視化をかなり簡単にやってくれるので非常に便利だった。これはもっと前に知っておきたかった・・・!Rライクに使えて、すぐにヒストグラムまで書いてくれる。pandasでデータの全体像を把握、加工を行い、それをnumpy arrayに変換してtrainingするという流れの模様

下記のように欠損値を埋める処理をしたりできる。

train.Age = train.Age.fillna(train.Age.mean())

タイタニック生存者予測Tutorialの一覧

成長速度を早めるためには良質なチュートリアルを辿ることが近道な気がします。Kaggle界のハローワールド的存在である、タイタニック生存者予測の課題のチュートリアルをいくつか探してみました。

使用言語:Python

Getting Started With Python - Titanic: Machine Learning from Disaster | Kaggle Getting Started With Python II - Titanic: Machine Learning from Disaster | Kaggle Getting Started With Random Forests - Titanic: Machine Learning from Disaster | Kaggle Full guide and python code to get 0.79903 - Titanic: Machine Learning from Disaster | Kaggle

Basic Feature Engineering with the Titanic Data « triangleinequality

IPython Notebook Tutorial for Titanic: Machine Learning from Disaster | Kaggle

kaggleにpythonを使ってみる(1) 〜pandas - 忘れないようにメモっとく

Tutorial: Titanic dataset machine learning for Kaggle – Corpocrat

使用言語:R

New: Getting Started with R - Titanic: Machine Learning from Disaster | Kaggle

kaggleで予測モデルを構築してみた (1) - kaggleって何? - About connecting the dots.
kaggleで予測モデルを構築してみた (2) - Rで機械学習パッケージをまとめて試してみる - About connecting the dots.
kaggleで予測モデルを構築してみた (3) - データの構成を確認する - About connecting the dots.
kaggleで予測モデルを構築してみた (4) - データの背景を調べる - About connecting the dots.

kaggleで予測モデルを構築してみた (5) - Rで行うMultipleImputation - About connecting the dots.

kaggleで予測モデルを構築してみた (6) - FIMLの仕組みとRのimputationパッケージ - About connecting the dots.

kaggleで予測モデルを構築してみた (7) - モデル作成とkaggleでのテスト実行 - About connecting the dots.

使用ツールExcel

Getting Started With Excel - Titanic: Machine Learning from Disaster | Kaggle

その他

Further Reading / Watching - Titanic: Machine Learning from Disaster | Kaggle