決定係数
メニューを表示するにはスワイプしてください
決定係数(R-squared)とは
すでにMSE、RMSE、MAEについて説明しました。これらはモデル同士の比較に役立ちますが、単一のスコアだけでは、その値がデータセットにとって「十分良い」かどうか判断しづらい場合があります。
決定係数(R-squared) は、モデルがターゲットの分散をどれだけ説明できているかを測定します。値は0から1の範囲で表され、解釈が容易です。
問題は、説明分散をすぐに計算できないことです。しかし、未説明分散は計算できるため、上記の式を次のように変形します。
総分散
総分散はターゲットの分散そのものであり、ターゲットの分散は統計学の標本分散の公式(ȳ はターゲットの平均)を使って計算できます。
この例では、実際の値と目標平均値(オレンジ色の線)との差を二乗して合計し、それを m−1 で割ることで、合計分散が 11.07 となる。
未説明分散
次に、モデルが説明しない分散を計算します。予測が完全であれば、すべての点が回帰直線上に正確に位置します。同じ分散の公式を使用しますが、ȳ の代わりに予測値を使用します。
以下は可視化を用いた例です。
これでR二乗値を計算するために必要なすべてが揃いました。
R二乗値は0.92であり、1に近いため、優れたモデルであることを示しています。もう1つのモデルについてもR二乗値を計算します。
このモデルはデータに対してややアンダーフィットしているため、R二乗値は低くなっています。
PythonにおけるR二乗値
sm.OLSクラスはR二乗値を自動的に計算します。summary()テーブルで確認できます。
R二乗値は0から1の範囲で、高いほど良い(ただしモデルが過学習していない場合)。summary()のsm.OLS出力にはR二乗スコアが含まれています。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
決定係数
決定係数(R-squared)とは
すでにMSE、RMSE、MAEについて説明しました。これらはモデル同士の比較に役立ちますが、単一のスコアだけでは、その値がデータセットにとって「十分良い」かどうか判断しづらい場合があります。
決定係数(R-squared) は、モデルがターゲットの分散をどれだけ説明できているかを測定します。値は0から1の範囲で表され、解釈が容易です。
問題は、説明分散をすぐに計算できないことです。しかし、未説明分散は計算できるため、上記の式を次のように変形します。
総分散
総分散はターゲットの分散そのものであり、ターゲットの分散は統計学の標本分散の公式(ȳ はターゲットの平均)を使って計算できます。
この例では、実際の値と目標平均値(オレンジ色の線)との差を二乗して合計し、それを m−1 で割ることで、合計分散が 11.07 となる。
未説明分散
次に、モデルが説明しない分散を計算します。予測が完全であれば、すべての点が回帰直線上に正確に位置します。同じ分散の公式を使用しますが、ȳ の代わりに予測値を使用します。
以下は可視化を用いた例です。
これでR二乗値を計算するために必要なすべてが揃いました。
R二乗値は0.92であり、1に近いため、優れたモデルであることを示しています。もう1つのモデルについてもR二乗値を計算します。
このモデルはデータに対してややアンダーフィットしているため、R二乗値は低くなっています。
PythonにおけるR二乗値
sm.OLSクラスはR二乗値を自動的に計算します。summary()テーブルで確認できます。
R二乗値は0から1の範囲で、高いほど良い(ただしモデルが過学習していない場合)。summary()のsm.OLS出力にはR二乗スコアが含まれています。
フィードバックありがとうございます!