回帰モデルの評価指標をシンプル解説!

機械学習を勉強していると「回帰モデル」について学ぶことがあります。でも、
作った回帰モデルの予測はどのくらい正しいの?
って気になりますよね。

今回は 回帰モデルの評価指標 について、できるだけシンプルに解説します!
Python初心者でもわかるように説明するので、安心してください😊


1. 決定係数(R²)

決定係数  は、モデルの予測がどれくらい 正解に近いか を示す指標です。
値が 1 に近いほど、モデルの予測が正確 ということになります。

R²のイメージ

  • R² = 1.0 → 予測が完璧!(100%正しい)
  • R² = 0.8 → まあまあ正確(80%くらい正しい)
  • R² = 0.0 → ぜんぜんダメ(ランダムに予測しているのと同じ)
  • R² がマイナス → 予測がひどすぎて、平均値を予測するより悪い

PythonでR²を計算する

Pythonの sklearn を使えば、簡単に計算できます。

python

from sklearn.metrics import r2_score

# 実際のデータ(正解)
y_true = [3, 5, 2, 8, 7]

# モデルの予測値
y_pred = [2.5, 5.1, 1.8, 7.9, 6.8]

# R²を計算
r2 = r2_score(y_true, y_pred)
print(f”決定係数 R²: {r2:.2f})


2. RMSE(二乗平均平方誤差)

RMSE(Root Mean Squared Error)は、「誤差の平均」を表す指標です。
ただし、誤差の 二乗 を使うので、大きなズレ(外れ値)の影響を受けやすいのが特徴です。

RMSEのポイント

  • 値が小さいほど、予測が正確
  • 外れ値に影響を受けやすい(めっちゃズレたデータがあるとRMSEが大きくなる)

PythonでRMSEを計算

sklearn を使わなくても、簡単に計算できます。

python

import numpy as np

# 実際のデータ(正解)
y_true = [3, 5, 2, 8, 7]

# モデルの予測値
y_pred = [2.5, 5.1, 1.8, 7.9, 6.8]

# RMSEを計算
rmse = np.sqrt(np.mean((np.array(y_true) – np.array(y_pred))**2))
print(f”RMSE: {rmse:.2f})


3. MAE(平均絶対誤差)

MAE(Mean Absolute Error)は、誤差の絶対値の平均 を表す指標です。
二乗しない ので、RMSEよりも 外れ値の影響を受けにくい のが特徴です。

MAEのポイント

  • 値が小さいほど、予測が正確
  • 外れ値にあまり影響を受けない

PythonでMAEを計算

python

from sklearn.metrics import mean_absolute_error

# MAEを計算
mae = mean_absolute_error(y_true, y_pred)
print(f”MAE: {mae:.2f})


まとめ

指標 特徴 計算方法
R²(決定係数) 1に近いほど予測が正確 r2_score(y_true, y_pred)
RMSE(二乗平均平方誤差) 誤差の平均、外れ値の影響を受けやすい np.sqrt(np.mean((np.array(y_true) - np.array(y_pred))**2))
MAE(平均絶対誤差) 誤差の平均、外れ値の影響を受けにくい mean_absolute_error(y_true, y_pred)

💡 どの評価指標を使うべき?

  • 全体の精度を見たい
  • 外れ値を重視したいMAE
  • 外れ値を考慮しつつ、全体の誤差を見たいRMSE

回帰モデルを作ったら、ぜひ R²・RMSE・MAE を計算して、モデルの精度をチェックしてみましょう!🚀

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です