Kaggleチュートリアル

Table of Contents

機械学習の勉強のため、Kaggleのチュートリアルを試してみました。

 

1 Kaggleとは

Kaggleはデータ分析のCompetitionサイトで、企業や研究者が投稿したテーマを様々なデータ分析手法を駆使して、予測モデルの精度を競う場所になります。
trainデータとtestデータがサイト上から渡され、trainデータをもとにモデリングし、testデータで予測し投稿する、という手順になります。
Kaggleには初心者用のチュートリアルも用意されています。

2 Titanicチュートリアル

今回試したチュートリアルは、有名なタイタニック号沈没事故を題材にしたもので、
乗客の年齢、性別、社会階級、などのデータから生死を予測することが課題となります。
データ・セットは以下の通り。 

PassengerID 乗客ID
survival 生死(0 = No; 1 = Yes)
pclass 乗客の社会階級
name Name
sex 性別
age 年齢
sibsp 乗船している夫婦、兄弟姉妹の数
parch 乗船している親、子供の数
ticket チケットNo
fare 乗船料金
cabin 船室
embarked 乗船場所

survivalは、trainデータのみに存在。上記データからtestデータのsurvivalを予測する。

 

3 環境

言語: Python3.6.2(anaconda)

  • anacondaはpythonのデータ分析系のライブラリがセットとなっているパッケージ

環境: jupyter notebook

  • プログラムの記述、実行、可視化、メモ、が一元管理できる環境。

Pyhonパッケージ:

 

4 データ読み込み

train.csv、test.csvはKaggleサイトからダウンロードし、適当な場所に保存する。

 

5 欠損データの補完

年齢データに欠損が存在するため、適当な値で補完する。
今回は性別毎の平均値で補完。

※データ欠損は以下で確認出来る。
※年齢以外にも欠損データは存在するが、今回は分析に使用しない

 

6 ダミー変数化

数値でないデータが含まれているため、扱いやすいように数値データに置き換える。

 

7 モデル生成と学習

2値分類モデルの一つであるロジスティック回帰を適用。

 

8 予測

テストデータを生成したモデルで予測する。

 

9 結果をファイル出力

KaggleへSubmitするために、結果をファイル出力する。

 

KaggleにSubmitしたところ、予測精度は75.598%でした。(8136位/9650)

Author: xxx

Created: 2017-12-11 Mon 01:47

Emacs 25.3.1 (Org mode 8.2.10)

Validate