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