I have been building a linear regression model with around 150 rows of data. I checked the correlation of the parameters with the target variable and tried to keep only them as I have less data and wanted to have a simple linear model.
The MAE and MAPE are really decent enough:
Train MAPE: 3.3%, Val MAPE: 4.9%
The train data and validation data graph also looks decent enough, the blue line represents actual values for training data and orange line represents predicted values on train data. The green line represents actual values for validation data and red line represents predicted values:
However, my:
Train R2: 0.63, Val R2: -0.37
I have searched across many resources, asked Google Gemini ChatGPT, got similar responses but I am still not able to figure out why my R2 is coming out to be so weird when everything else seems to be decent. Can we use this model to implement or infer in real-world?
Please note: I have also tried Random Forest, LightGBM, XGBoost and many other linear and bagging/boosting models, results are almost similar. Graph looks ok, MAE, MAPE looks good but R2 is not in normal range.
The MAE and MAPE are really decent enough
How do you assess that to be true? $\endgroup$