機械学習初心者がkaggleをやってみる

はじめに

機械学習初心者だけど、とりあえずkaggleに手を付けてみることにした。

いつ挫折するかわからない。本当にわからない。まじで3日で終わりそうだけど、とりあえずやってみる。

今回やること

とりあえずはじめはタイタニック

www.kaggle.com

下記の参考サイトをもとに最初は参考サイト上に用意されているkernelをコピーしてみる。

参考サイト

qiita.com

メイン内容

扱うコンペ(?)

Titanic: Machine Learning from Disaster | Kaggle

予測すること

各乗客について、生存or死亡を予測(2値分類)

今回具体的にコピーしたkernel

overviewとあるように全体の流れが書いてあって、「はあ、なるほど」という感じ。わかったような、わからんような。

まあkernelをとりあえずいじってみようと思います。

upura-kaggle-tutorial-02-overview

実際にコードを上からみていく

以下、参考サイト引用ですが、この流れを意識しながらkernelを見ていこうかと思います。

具体的な処理の流れは、次のようになっています。

パッケージの読み込み

データの読み込み

特徴量エンジニアリング

機械学習アルゴリズムの学習・予測

提出(submit)

コードを見ながら気になったところなどのメモ

  • ! ~~

頭に!つけることで、システムコマンドを実行可能

Jupyter Notebookでマジックコマンド一覧を確認する%lsmagic | note.nkmk.me

  • 特徴量エンジニアリング

やってることは以下の2つ?

  1. テキスト形式といった予測器へそのまま投入できない形式のデータを、投入できる形式へ変換(ダミー変数とかいうやつ?)

  2. 欠損値の補完

前者は、.replaceでできそう。

後者は、結構大変そう。まず、以下のコードで欠損値を有する項目を確認している。

data.isnull().sum()

output

PassengerId       0
Survived        418
Pclass            0
Name              0
Sex               0
Age             263
SibSp             0
Parch             0
Ticket            0
Fare              1
Cabin          1014
Embarked          2
dtype: int64

補完の方法は平均値とったり、最頻値とったりだった。

きっとここらへんは大事なんだろう。

今日はここまで