Menu

Evaluating Regression Models

Evaluating Regression Models

Regression models predict numerical values, such as sales revenue, property prices, or delivery times. Several metrics help measure the difference between predicted and actual values.

Common Regression Metrics

Metric

Meaning

Interpretation

Mean Absolute Error (MAE)Average absolute prediction errorLower is better
Mean Squared Error (MSE)Average squared prediction errorLower is better
Root Mean Squared Error (RMSE)Square root of MSELower is better
R-squared (R²)Measures performance relative to predicting the target meanHigher is generally better

MAE is easy to interpret because it uses the same units as the target. MSE penalizes larger errors more heavily. RMSE also emphasizes large errors but returns to the target's original units.

R² can be negative when a model performs worse than a baseline that always predicts the mean of the target values.

Calculating Regression Metrics

from sklearn.metrics import (

mean_absolute_error,

mean_squared_error,

r2_score

)

from sklearn.linear_model import LinearRegression

from sklearn.model_selection import train_test_split

import numpy as np

X = df[["area", "bedrooms"]]

y = df["price"]

X_train, X_test, y_train, y_test = train_test_split(

X, y, test_size=0.2, random_state=42

)

model = LinearRegression()

model.fit(X_train, y_train)

predictions = model.predict(X_test)

mae = mean_absolute_error(y_test, predictions)

mse = mean_squared_error(y_test, predictions)

rmse = np.sqrt(mse)

r2 = r2_score(y_test, predictions)

print("MAE:", mae)

print("MSE:", mse)

print("RMSE:", rmse)

print("R²:", r2)

This example assumes df contains the columns area, bedrooms, and price.

When comparing two regression models, use the same test data and examine the metrics together. A lower RMSE may indicate fewer large errors, while MAE can provide a clearer picture of the typical absolute error.


Python for Data Science

VA

Vishalini A



Learn via Video Course

undefined Logo

NaN hrs



Get in Touch For Details