未分類

Kaglle – タイタニックで学んだN個のこと#2

データセット

データセットを確認します。

列名 内容
PassengerId 乗客ID
survival 生存したか
pclass チケットのクラス
name 名前
sex 性別
Age 年齢
sibsp 兄弟姉妹、または配偶者の数
parch 親または子の数
ticket チケットの番号
fare 乗船料
cabin 部屋番号
embarked 乗船した港

css

予測を行う際にデータセットをプログラムが読み込めるかたちに変換する必要があります。

例えば、”cabin(部屋番号)”の”C85″をヒトが読むと”C”と”85″で、頭の中で無意識のうちに区切りますが、プログラムの場合はそうもいきません。それぞれ意味があるものとして利用するためには、ヒトの手で区切って上げる必要があります。

データの型

データの型には大きく分けて2つあります。

  • 量的データ(連続的な値をとる)
    • “pclass(チケットのクラス)”
    • “Age(年齢)”
    • “sibsp(兄弟姉妹または配偶者の数)”
    • “parch(親または子の数)”
    • “fare(乗船料)”
  • 質的データ(カテゴリに所属する/しない、離散的な値をとる)
    • “survived(生存したか)”
    • “name(名前)”
    • “sex(性別)”
    • “ticket(チケットの番号)”
    • “cabin(部屋番号)”
    • “embarked(乗船した港)”

データの変形(ダミー変数)

プログラムで利用するためには、データをすべて数値に変更する必要があります。今回、量的データはすでに数値になっています。

一方で質的データの”name(名前)”や”sex(性別)”などは文字列が記載されています。ですので、これらを数値に変える必要があります。

この文字列を数値に変える方法は通常、ダミー変数と呼ばれる方法を使います。これはカテゴリに、(所属する/所属しない)を(1/0)に読み替える方法です。

例えば、”sex(性別)”ならば、”male”かどうかを基準として、maleなら1、female(maleではない)なら0と置き換えます。

sex male female
male 1 0
female 0 1
male 1 0
male 1 0
female 0 1

“sex(性別)”の場合は”male”/”female”で、1つの変数がダミー変数の処理を行うことで、2つの変数になります。

“embarked(乗船した港)”なら”S”/”Q”/”C”の3つの項目があるので、3つの変数になります。

embarked S C Q
S 1 0 0
C 0 1 0
C 0 1 0
Q 0 0 1
S 1 0 0

データの変形(加工)

“name(名前)”や”Cabin(部屋番号)”はどうでしょうか?、”name(名前)”は直感的には予測に利用できそうにありません、なぜなら名前が生存に影響を与えることはないからです(※後々使うことになるのですが。。)。

“Cabin(部屋番号)”は、部屋の位置によっては、生存する確率に影響しそうです。

  • データがNone(空)の行がある
  • アルファベットと数値で構成されている
  • データが複数入っている行がある
cabin None(空)の行 頭文字がC データの数
None(空) 1 0 0
C85 0 1 1
None(空) 1 0 0
B78 0 1 1
C23 C25 C27 0 0 3

“Cabin(部屋番号)”から、質的データ:”None(空)の行”や、”頭文字がC”、量的データ:”データの数”を作成することができました。

 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中