Kaggle Tutorial

問題設定 — 回帰 vs 分類

解きたい課題を回帰・分類のどちらに落とし込むか、目的変数とタスク定義の考え方を学びます。

まず「何を予測するか」を決める#

モデルを作る前に、目的変数(予測したいもの)が何かを明確にします。 目的変数の種類で、タスクの種類と使う評価指標が決まります。

回帰と分類#

タスク目的変数代表的な評価指標
回帰連続値住宅価格・売上・気温RMSE / MAE / 決定係数
分類クラス(離散)生存/死亡・犬/猫正解率 / F1 / AUC

分類はさらに、2 クラスの二値分類(生存/死亡)と、3 クラス以上の多クラス分類に分かれます。

ヒント

同じデータでも問題設定は一つではありません。たとえば「年齢」は回帰で予測することも、 「年代(10 代/20 代…)」という分類に変換することもできます。コンペでは課題の評価指標に 合わせて設定が決まっています。

目的変数とタスクを Titanic で確認#

import pandas as pd

df = pd.read_csv("/kaggle/input/titanic/train.csv")

# Survived は 0/1 の二値 → 二値分類のタスク
df["Survived"].unique()        # array([0, 1])
df["Survived"].dtype           # int64

Survived は 0/1 の 2 値なので、Titanic は二値分類の問題です。 これに対して House Prices コンペの SalePrice(価格)は連続値なので回帰になります。

メモ

タスクの種類を取り違えると、評価指標もモデルも噛み合いません。 「目的変数は連続値か、クラスか」を最初に必ず確認しましょう。

理解度チェック#

Quiz住宅価格(連続値)を予測するタスクの種類は?

次のステップ#

次は、モデルの「本当の実力」を測るためのデータ分割と汎化の考え方を学びます。