【Titanic】問題理解と EDA
Titanic コンペの課題設定を理解し、生存に効きそうな特徴を EDA で見つけます。
課題を理解する#
Titanic は、乗客の属性から **生存(0/1)を予測する二値分類**です。
評価指標は 正解率(Accuracy)、提出は PassengerId と Survived の 2 列 CSV です。
import pandas as pd
train = pd.read_csv("/kaggle/input/titanic/train.csv")
test = pd.read_csv("/kaggle/input/titanic/test.csv")
train.shape, test.shape # ((891, 12), (418, 11))まず目的変数を見る#
train["Survived"].value_counts(normalize=True)
# 0(死亡) ≈ 0.62, 1(生存) ≈ 0.38約 6:4 で、極端なクラス不均衡ではありません。Accuracy で素直に評価できます。
効きそうな特徴を探す#
# 性別ごとの生存率
train.groupby("Sex")["Survived"].mean()
# female ≈ 0.74, male ≈ 0.19
# 客室クラスごとの生存率
train.groupby("Pclass")["Survived"].mean()
# 1 ≈ 0.63, 2 ≈ 0.47, 3 ≈ 0.24性別と客室クラスが生存に強く効くことが分かります。これが最初の特徴量の軸になります。
ヒント
「女性・上位クラスほど助かりやすい」という傾向は、可視化(sns.barplot)でも一目で確認できます。
EDA の発見はそのまま特徴量設計の根拠になります。
欠損を把握する#
train.isnull().mean().sort_values(ascending=False)
# Cabin ≈ 0.77, Age ≈ 0.20, Embarked ≈ 0.002Cabin は欠損が多く扱いに注意、Age は補完が必要、と方針が立ちます。
理解度チェック#
次のステップ#
次は、この理解をもとに前処理・ベースライン作成・提出まで一気に通します。