Classical Machine Learning

Model Selection & Validation

Model selection chooses the model family, features, hyperparameters, and threshold using validation evidence. Validation is where you compare ideas without lying to yourself.
  • Validation is part of the design loop
  • Cross-validation reduces split luck
  • Hyperparameter tuning can overfit validation
  • Threshold tuning is model selection too
  • Baselines prevent complexity theater
  • The final test set should be boring
Honest model-selection loop
Do not use the test set to keep shopping.
Validation tools
ToolUse whenCost
Holdout validationEnough data, quick iterationOne split can be lucky
K-fold cross-validationLimited data / stable estimateMore training runs
Time-series validationHistorical predictionLess randomization
Nested validationHeavy tuning / honest comparisonMuch more compute
Final test setOne-time auditMust be protected
Sources
  • scikit-learn User GuideModel selection and evaluation
  • An Introduction to Statistical Learning with PythonResampling Methods
  • Machine Learning Crash CourseGeneralization