```
``` [ Input vector x in ℝ⁸ ] (F3_BM, F3_BI, F3_Math, F3_Science, F3_Sejarah, F3_Geo, F3_RBT, F3_PSV) │ ▼ [ StandardScaler ] z = (x - mean) / std (mean and std from training stream only) │ ▼ [ Ridge Regression ] y_hat = intercept + Σ(coef_j * z_j) │ ▼ [ Output ] Predicted merit (float, clipped to 0-100) ```Section 4: Evaluation
Model selection: 5-fold KFold (shuffle, random_state=42). Metric: mean absolute error (MAE) on held-out folds. Full metrics per stream and per candidate are stored inmodel_meta.pkl. Separate test set not used because sample size per stream is small.Section 5: Limitations
(standardised features; coefficient = change in merit per 1 standard deviation change in that subject)
| Subject | SCIENCE | SEMI SCIENCE | ART |
|---|---|---|---|
| BM | -1.71 | 2.63 | 3.02 |
| BI | 1.16 | 2.55 | 5.07 |
| Math | 7.59 | 7.15 | 2.83 |
| Science | 5.82 | 1.04 | 0.64 |
| Sejarah | 1.25 | 0.69 | 0.26 |
| Geo | 1.96 | -1.41 | 1.11 |
| RBT | 1.66 | 4.85 | 0.90 |
| PSV | 0.45 | -0.75 | 1.26 |
| Intercept | 64.36 | 38.23 | 18.17 |
Caption: Negative coefficients on correlated subjects are typical multicollinearity effects. Do not interpret individually as causal.
Hyperparameters: alpha = 5.0 (all three streams)