\begin{tabular}{lcccc}
\toprule
Model & $R^2$ (Train) & $R^2$ (Test) & RMSE (Test) & MAE (Test) \\
\midrule
OLS & 0.4741 & 0.5094 & 0.2242 & 0.1727 \\
LASSO & 0.4740 & 0.5099 & 0.2241 & 0.1725 \\
Elastic Net & 0.4740 & 0.5099 & 0.2241 & 0.1725 \\
Random Forest & 0.9092 & 0.7079 & 0.1730 & 0.1284 \\
Gradient Boosting & 0.8762 & 0.6935 & 0.1772 & 0.1319 \\
\bottomrule
\end{tabular}
\begin{tablenotes}\small
\item \textit{Notes:} OLS, LASSO, and Elastic Net use standardized features. Tree-based models use raw features. Train/test split is 80/20 with random\_state=42.
\end{tablenotes}
