評価指標
メニューを表示するにはスワイプしてください
モデルを構築する際には、データへの適合度を測定する指標が必要です。**指標(メトリック)**は、モデルの性能を数値で表します。本章では、最も一般的な指標に注目します。
以下の記法を使用します。
すでに一つの指標、SSR(Sum of Squared Residuals、残差平方和)については理解しています。これは最適なパラメータを特定するために最小化しました。 私たちの記法を用いると、SSRの式は次のように表せます。
または同様に:
この指標は、モデルが同じ数のデータポイントを使用した場合にのみ機能。モデルの実際の性能を正確に示さない。異なるサイズのデータセットで訓練された2つのモデルを想定。
最初のモデルは視覚的にはより良くフィットしていますが、データポイントが多いためSSRが高くなります。これは、平均残差が小さくても合計が増加するためです。二乗残差の平均を使用することでこの問題が解決されます。これが**平均二乗誤差(MSE)**です。
MSE
または同様に:
NumPy を使用した MSE の計算:
mse = np.mean((y_true - y_pred)**2)
または Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
MSE は二乗値であり、解釈が難しくなる場合がある。たとえば、MSE が 49 dollars² の場合、誤差を dollars で表したい。平方根を取ることで 7 となり、これが Root Mean Squared Error (RMSE) である。
RMSE(平方平均二乗誤差)
RMSEの計算方法:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
またはScikit-learnを使用:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
残差を二乗する代わりに、その絶対値を取る方法 — これが平均絶対誤差(MAE)。
または同様に
MAEはMSEと同様に動作するが、大きな誤差に対してより穏やかに扱う。絶対値を使用するため外れ値に対して頑健であり、極端な値がデータセットを歪める場合に有用。
MAEの計算方法:
mae = np.mean(np.fabs(y_true - y_pred))
または:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSRは正規方程式の導出に役立ちましたが、モデルを比較する際には任意の指標を使用できます。
SSR、MSE、RMSEは常に同じ順序でモデルを評価しますが、MAEは大きな誤差に対するペナルティが小さいため、異なるモデルを好む場合があります。指標は事前に選択し、それに特化して最適化する必要があります。
これで、すべての指標が低いため、2番目のモデルの方が優れていることは確かにわかります。しかし、指標が低いからといって、必ずしもモデルが優れているとは限りません。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください