--- OUTER FOLD 1/5 --- INFO: Best params for fold 1: {'lr': 0.000512061330949742, 'hidden_dim': 64, 'batch_size': 64} INFO: Fold 1 Val RMSE: 1.4898, MAE: 0.9660 --- OUTER FOLD 2/5 --- INFO: Best params for fold 2: {'lr': 0.0005205409661999493, 'hidden_dim': 64, 'batch_size': 64} INFO: Fold 2 Val RMSE: 1.2614, MAE: 0.8835 --- OUTER FOLD 3/5 --- INFO: Best params for fold 3: {'lr': 0.0006745255603940729, 'hidden_dim': 128, 'batch_size': 64} INFO: Fold 3 Val RMSE: 1.3907, MAE: 0.8215 --- OUTER FOLD 4/5 --- INFO: Best params for fold 4: {'lr': 0.0005205409661999493, 'hidden_dim': 64, 'batch_size': 64} INFO: Fold 4 Val RMSE: 1.2326, MAE: 0.8356 --- OUTER FOLD 5/5 --- INFO: Best params for fold 5: {'lr': 0.0006858999160561152, 'hidden_dim': 64, 'batch_size': 32} INFO: Fold 5 Val RMSE: 1.1919, MAE: 0.7771 ------ Nested Cross-Validation Summary ------ Unbiased Validation RMSE: 1.3133 ± 0.1105 Unbiased Validation MAE: 0.8567 ± 0.0643 VAL FOLD RMSEs: [1.4897709, 1.2614098, 1.3906764, 1.2325993, 1.1918608] VAL FOLD MAEs: [0.96595633, 0.8835088, 0.82152045, 0.8355825, 0.77711916] ===== STEP 2: Final Model Training & Testing ===== INFO: Finding best hyperparameters on the FULL train/val set for final model... INFO: Optimal hyperparameters for final model: {'lr': 0.0007303755012255117, 'hidden_dim': 128, 'batch_size': 32} INFO: Training final model... ===== STEP 3: Final Held-Out Test Evaluation ===== Test RMSE: 1.4393 (95% CI: [0.9981, 1.8838]) Test MAE: 0.8563 (95% CI: [0.6757, 1.0609])