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_pred595000 | 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.
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