問題設定 — 回帰 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 # int64Survived は 0/1 の 2 値なので、Titanic は二値分類の問題です。
これに対して House Prices コンペの SalePrice(価格)は連続値なので回帰になります。
メモ
タスクの種類を取り違えると、評価指標もモデルも噛み合いません。 「目的変数は連続値か、クラスか」を最初に必ず確認しましょう。
理解度チェック#
次のステップ#
次は、モデルの「本当の実力」を測るためのデータ分割と汎化の考え方を学びます。