--- 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.9661, MAE: 1.4201 --- OUTER FOLD 2/5 --- INFO: Best params for fold 2: {'lr': 0.0007303755012255117, 'hidden_dim': 128, 'batch_size': 32} INFO: Fold 2 Val RMSE: 1.6539, MAE: 0.9402 --- OUTER FOLD 3/5 --- INFO: Best params for fold 3: {'lr': 0.0006175439707655367, 'hidden_dim': 128, 'batch_size': 64} INFO: Fold 3 Val RMSE: 1.6687, MAE: 1.0866 --- OUTER FOLD 4/5 --- INFO: Best params for fold 4: {'lr': 0.0006175439707655367, 'hidden_dim': 128, 'batch_size': 64} INFO: Fold 4 Val RMSE: 1.6129, MAE: 1.2131 --- OUTER FOLD 5/5 --- INFO: Best params for fold 5: {'lr': 0.0006745255603940729, 'hidden_dim': 128, 'batch_size': 64} INFO: Fold 5 Val RMSE: 1.7842, MAE: 1.2387 ------ Nested Cross-Validation Summary ------ Unbiased Validation RMSE: 1.7372 ± 0.1278 Unbiased Validation MAE: 1.1797 ± 0.1603 VAL FOLD RMSEs: [1.9661305, 1.6539204, 1.668735, 1.6129066, 1.7841859] VAL FOLD MAEs: [1.4201308, 0.94015294, 1.0865558, 1.2131346, 1.2387023] ===== 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.0006745255603940729, 'hidden_dim': 128, 'batch_size': 64} INFO: Training final model... ===== STEP 3: Final Held-Out Test Evaluation ===== Test RMSE: 2.1722 (95% CI: [1.6138, 2.8017]) Test MAE: 1.4272 (95% CI: [1.1672, 1.7399])