Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Overfittingと正則化 | セクション
Pythonによる分類

bookOverfittingと正則化

メニューを表示するにはスワイプしてください

前の章で示したように、PolynomialFeatures を使用すると複雑な決定境界を作成可能。2次の多項式特徴量でも、下図のような境界を生成できる。

これは2次の多項式にすぎないが、次数を上げるとさらに複雑な形状が得られる場合がある。しかし、これには問題がある。ロジスティック回帰によって構築された決定境界が過度に複雑になり、モデルが過学習を起こす可能性がある。

過学習とは、モデルがデータの一般的なパターンを学習するのではなく、すべての訓練データに対応するために非常に複雑な決定境界を構築してしまう現象。未見データで良好な性能を発揮することが機械学習モデルの主な目的であるにもかかわらず、過学習したモデルは未見データで十分な性能を発揮できない。

正則化は過学習の問題に対処する手法。実際、LogisticRegression クラスではデフォルトで l2正則化 が使用されている。ただし、モデルにどの程度強く正則化を適用するかは設定が必要であり、これは C パラメータで制御される。

carousel-imgcarousel-imgcarousel-img
  • C が大きい場合 - 正則化が弱くなり、過学習が増加;
  • C が小さい場合 - 正則化が強くなり、過学習が減少(ただし、過小適合の可能性もあり)。

どの値の C が良いモデルになるかはデータセットによって異なるため、GridSearchCV を使って選択するのが望ましい。

Note
注意

正則化ありのロジスティック回帰を使用する場合、データのスケーリングが重要。正則化は大きな係数をペナルティ化するため、スケーリングを行わないと値の大きい特徴量が結果を歪める可能性がある。実際、正則化を使わない場合でもスケーリングはほぼ必須

LogisticRegression クラスにはデフォルトで正則化が含まれているため、正則化を削除する場合は(penalty=None を設定)、またはデータをスケーリングする必要がある(例:StandardScaler を使用)。

Note
注意

PolynomialFeaturesStandardScaler の両方を使用する場合は、多項式特徴量を生成したStandardScaler を適用すること。多項式展開にスケーリングを行うと、すでに標準化された値を二乗や掛け算することで、不自然な分布になる可能性がある。

1. 誤っている記述を選択してください。

2. データを前処理する正しい順序はどれですか

question mark

誤っている記述を選択してください。

正しい答えを選んでください

question mark

データを前処理する正しい順序はどれですか

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  12

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  12
some-alt