MAE, MSE, RMSE, R2 томъёог Python дээр хэрхэн бичих вэ?

Энэхүү нийтлэлээр регрессийн шинжилгээний алдааг үнэлэх гол хэмжүүрүүд болох 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

Хуваалцах:

Холбоотой нийтлэлүүд

Python нь код бичих хурд, ойлгомжтой байдлаараа алдартай. Гэхдээ мэргэжлийн хөгжүүлэгчид эдгээр богино, хэрэгцээтэй ‘hack’-уудыг ашиглан Python-г бүр илүү үр...
  • Python
  • 4 сар 2, 2025
Virtual Environment гэж юу вэ? Virtual Environment (виртуал орчин) нь Python дээр хөгжүүлэгдэх төслийн тусгайлан тохируулагдсан орчин юм. Энэ нь...
  • Python
    ,
    Software Engineering
  • 7 сар 19, 2024
Python-ы класс бол объект хандалтат программчлалын үндсэн нэгж юм. Класс нь объектуудын төлөв (Attribute) ба үйлдлүүдийг (Action) тодорхойлдог. Классыг тодорхойлохдоо...
  • Python
    ,
    Software Engineering
  • 7 сар 18, 2024