Shuffle and split multi-feature arrays, compute standardization stats, scale features, and build design matrices with a bias column.
Implement linear prediction, MSE loss, its analytic gradient, and the closed-form normal-equation solver.
Initialize weights, take GD steps, track train/val loss, and stop early when validation loss stalls.
Compute MAE, RMSE, and R-squared, plus helpers to package metrics and learning-curve series.
Assemble a fit/predict/score model dict that standardizes inputs, trains with GD, stores the normal-equation weights, and compares the two solutions.