How to interpret large Mean Absolute/Squared Error in a regression model on sklearn

1.1k Views Asked by At

I am new to ML and trying understand evaluation metrics for regression. I found Mean Absoulute Error, Mean Squared Error and R2 Score are commonly used for regression. I have the following y_true and y_pred values for a beginner level regression task:

y_true   | y_pred
595000 | 550000
610000 | 565000

Now, the MAE and MSE showing the following results:

metrics.mean_absolute_error(y_true,y_pred) #Result:     15000.0
metrics.mean_squared_error(y_true,y_pred)  #Result: 225000000.0
metrics.r2_score(y_test,y_pred) #Result: 0.5555

Why the results are so large? I thought the result would be something like 0.0 to 1.0. Moreover, I thought it would give an error rate between 0.0 to 1.0. Now how do I interpret this large number regarding my model's performance? Thank you.

1

There are 1 best solutions below

0
On

In case of mean absolute and squared error, the score results will be large since it is making the difference between the mean of normal outputs and predicted outputs

For example, mean absolute error = y_true - y_pred and , mean squared error = (y_true - y_pred)^2

These results are bound to become more than 1. Being larger than 1 doesn't make them less important, they are both useful to remove cases for predictions returning negative values.

For the case of r2_score, it will find the percentage of accuracy of your model using the prediction output and normal output, which is why its range is between 0 and 1