# Which model is the best in this case and why?

I am a newbie in machine learning. I have a dataset and I have split them into 2 parts include 80% of data for training whereas 20% for testing. After training and validation I have some results as follow:

I have tried to predict with the final models on testing data and the results as follow: So, which model is the best in this case and why? Thank you so much.

• You need the self study tag. – Michael Chernick Dec 15 '17 at 6:14
• Random Forest and XGBoost seem to me to be better than CART. But it is hard to pick between the two. I would look mostly at the test set results. The 2 models are very close in RMSE and $R^2$. Models are not perfect and there really is no such thing as a best or perfect model. – Michael Chernick Dec 15 '17 at 6:28
• Thank you so much. But in case I have to select a model, so which model should I choose? – Hoang Nguyen Dec 15 '17 at 6:38
• I see nothing that is convincing one way or the other. If you must pick, find some other characteristic that is more convincing. Random Forest numerically has a slightly higher $R^2$ and lower RMSE on the test data. So that could be an argument for Random Forests over XGBoost. But my point is that the difference is so small that the result could easily go the other way on an independent sample of the same size with the same 80% fit and 20% on test set. – Michael Chernick Dec 15 '17 at 6:52
• I just add more image to my post for comparing the actual values with predictive modeling. Would you look at there and give me your recommend? – Hoang Nguyen Dec 15 '17 at 6:53