Энэхүү нийтлэлээр регрессийн шинжилгээний алдааг үнэлэх гол хэмжүүрүүд болох MAE, MSE, RMSE, R2 томъёонуудыг хэрхэн Python дээр бичихийг үзье.

Энд:
n – Түүврийн хэмжээ
ytrue, i – i-р түүврийн бодит утга
ypred, i – i-р түүврийн таамагласан утга
ytrue – бодит утгуудын дундаж
1. Numpy ашиглан бичих
# Numpy санг импорт хийж оруулна
import numpy as np
# Mean Absolute Error (MAE)
def mean_absolute_error(y_true, y_pred):
return np.mean(np.abs(y_true - y_pred))
# Mean Squared Error (MSE)
def mean_squared_error(y_true, y_pred):
return np.mean((y_true - y_pred) ** 2)
# Root Mean Squared Error (RMSE)
def root_mean_squared_error(y_true, y_pred):
return np.sqrt(mean_squared_error(y_true, y_pred))
# R-squared (R2)
def r_squared(y_true, y_pred):
numerator = np.sum((y_true - y_pred) ** 2)
denominator = np.sum((y_true - np.mean(y_true)) ** 2)
return 1 - (numerator / denominator)
# Жишээ өгөгдөл
y_true = np.array([3, -0.5, 2, 7])
y_pred = np.array([2.5, 0.0, 2, 8])
# Функц ашиглах
mae = mean_absolute_error(y_true, y_pred)
mse = mean_squared_error(y_true, y_pred)
rmse = root_mean_squared_error(y_true, y_pred)
r2 = r_squared(y_true, y_pred)
# Үр дүнг хэвлэх
print("Mean Absolute Error (MAE):", mae)
print("Mean Squared Error (MSE):", mse)
print("Root Mean Squared Error (RMSE):", rmse)
print("R-squared (R2):", r2)
Үр дүн:
Mean Absolute Error (MAE): 0.5
Mean Squared Error (MSE): 0.375
Root Mean Squared Error (RMSE): 0.6123724356957945
R-squared (R2): 0.9486081370449679
2. Scikit-learn ашиглан бичих
# Scikit-Learn сангаас mae, mse, r2-г оруулж ирнэ.
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
# Mean Absolute Error (MAE)
mae = mean_absolute_error(y_true, y_pred)
print("Mean Absolute Error (MAE):", mae)
# Mean Squared Error (MSE)
mse = mean_squared_error(y_true, y_pred)
print("Mean Squared Error (MSE):", mse)
# Root Mean Squared Error (RMSE)
rmse = np.sqrt(mse)
print("Root Mean Squared Error (RMSE):", rmse)
# R-squared (R2)
r2 = r2_score(y_true, y_pred)
print("R-squared (R2):", r2)
Үр дүн:
Mean Absolute Error (MAE): 0.5
Mean Squared Error (MSE): 0.375
Root Mean Squared Error (RMSE): 0.6123724356957945
R-squared (R2): 0.9486081370449679