Skip to content

DNET_KaggleGettingStarted

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Kaggle - Competitions - Getting Started

概要

Kaggle - Competitions - Getting Started で

最も代表的な2つのチュートリアル相当をやってみる。

詳細

  • チュートリアルをヤッた結果、基本操作以外に以下が重要になる事が解った。
  • 具体的には、数値・カテゴリカル・データ以外の特徴量エンジニアリング。
  • タイタニックでは、
    • Name、Cabin、Ticketから、Title、Deck、TicketGroupSizeなどの特徴量をエンジニアリング
    • さらに、デッドリスト、サバイブリストを作成するテクニックもあるらしい。

タイタニック生存者予測(Titanic)

https://github.com/OpenTouryoProject/DxCommon/blob/master/Notebook/path/ScikitLearnTraining6.ipynb

Accuracy: 0.8212290502793296

データの読込(Titanic)

  • インターネット上のCSVを直読み。
  • ORGデータから少々編集処理がされている。

データの確認(Titanic)

概要確認(Titanic)

  • 列名一覧

  • 変数説明

  • データの最初の数行を表示

  • データフレームの情報を表示

  • 基本的な統計量を表示

  • 各列の欠損値の数を表示

  • 数値データの分布を確認

  • カテゴリカル変数の可能性のある列

  • カテゴリカル変数の値のカウント

  • Nameは解るケド、Ticket、Cabinって何?

    • Name
    • Ticket
    • Cabin

詳細確認(Titanic)

  • カテゴリカルデータの頻度分析

  • 相関行列をヒートマップで表示

  • 数値の説明変数と目的変数の関係の確認

    • Age
    • SibSp
    • Parch
    • Fare
  • カテゴリカル説明変数と目的変数の関係の確認

  • その他の説明変数と目的変数の関係の確認

データの前処理(Titanic)

特徴量エンジニアリング(Titanic)

  • Deck
  • FamilySize
  • TicketGroupSize
  • Title

欠損値の処理とエンコーディング(Titanic)

欠損値の処理とカテゴリカル変数のエンコーディング

  • Embarkedの欠損値処理
  • カテゴリカル変数のエンコーディング
  • Ageの欠損値処理

デッドリスト、サバイブリスト

(詳しくはリンク先のNotebookをご参照下さい)

  • デッドリスト(Dead_list)
    16才以下または女性のグループで全員生存する慣例に反し全員死亡した名字(姓)のリスト
  • サバイブリスト(Survived_list)
    16才を超えかつ男性のグループは全員死亡する慣例に反し全員生存した名字(姓)のリスト

該当データは推論時データを結果がデッド or サバイブになるように書き換える。

特徴量の選択(Titanic)

変数名 説明
Survived 目的変数、以下はすべて説明変数。
Pclass 富豪ほど生存
Age 20歳未満の生存率が高い、幼児は特に生存率が高い。欠損値は他の特徴量から推定
SibSp 大所帯の生存率が低い。次いで、独り身の生存率が低い。
Parch 大所帯の生存率が低い。次いで、独り身の生存率が低い。
Fare 最低の価格帯以外は生き残る確率が高い。高価格帯は顕著に高い(Pclassと高い相関関係)
FamilySize SibSp・Parchから特徴量エンジニアリングしたFamilySize = SibSp + Parch + 1は同じ様な傾向を示す。
TicketGroupSize Ticketから特徴量エンジニアリングしたTicketGroupSizeはFamilySizeと同じ様な傾向を示す。
Sex_ 女性ほど生存
Deck_ Cabinから特徴量エンジニアリングしたDeck、避難経路と関係し、目的変数と高い相関関係を示す。
Title 名前から特徴量エンジニアリングした肩書、地位と関係し、目的変数と高い相関関係を示す。
Embarked_ C=Cherbourg、Q=Queenstown、S=Southamptonのうち、Southamptonが優遇されているが、間接的な影響の可能性

学習と推定(Titanic)

データ準備(Titanic)

  • XY分割
  • ホールドアウト法分割
  • 標準化

学習(Titanic)

幾つかのモデルを試す。

  • ロジスティック回帰
  • ランダムフォレスト
  • 勾配ブースティング

推定(Titanic)

デッドリスト、サバイブリストのテクニックで正解率が上がる。

評価(Titanic)

Accuracy: 0.8212290502793296

住宅価格予測(House Prices)

元 Wiki では見出しのみで、以下の内容は未記載。

  • データの読込
  • データの確認(概要確認 / 詳細確認)
  • データの前処理(特徴量エンジニアリング / 欠損値の処理とエンコーディング / 特徴量の選択)
  • 学習と推定(データ準備 / 学習 / 推定 / 評価)

参考

Titanic

Kaggle(Titanic)

Qiita(Titanic)

House Prices

Kaggle(House Prices)

Qiita(House Prices)

移行メモ

  • 見出し「タイタニック生存者予測(Titanic」「住宅価格予測(House Prices」の 閉じ括弧の欠落を補った。
  • 特徴量の表の「地位とと関係し」→「地位と関係し」に修正した。 また Age の「欠損値はから推定」は語句が欠落していたため 「欠損値は他の特徴量から推定」とした。
  • 「住宅価格予測(House Prices)」配下は元 Wiki の時点で見出しのみだったため、 箇条書きにまとめ、未記載である旨を明示した。
  • 同名の見出し(「データの読込」「データの確認」「概要確認」「詳細確認」 「データの前処理」「特徴量エンジニアリング」「欠損値の処理とエンコーディング」 「特徴量の選択」「学習と推定」「データ準備」「学習」「推定」「評価」 「Kaggle」「Qiita」)が Titanic / House Prices で重複し GitHub Wiki でアンカが衝突するため、括弧で文脈を補って一意にした。
  • PukiWiki のページ内アンカ(#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替えた。

Tags: 移行, Kaggle, Titanic, House Prices, 特徴量エンジニアリング, 機械学習, コンペティション

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally