A field guide to tuning your models without losing your mind
Companion notebooks for a 2020 Neurocomputing paper that compare seven hyperparameter optimization methods across classic ML and neural networks.

What it does
This repository holds two Jupyter notebooks—one for regression, one for classification—that demonstrate how to tune hyperparameters for random forests, SVMs, KNN, and simple neural networks. It is essentially the executable companion to a survey paper by Yang and Shami, mapping which optimization techniques suit which models and pointing to the Python libraries that implement them.
The interesting bit
The value is in the curation, not invention. The authors catalog seven HPO methods—from grid search to genetic algorithms—and pair each with concrete search spaces and library recommendations. Think of it as a decision support system for the “just try Optuna?” paralysis.
Key highlights
- Covers seven HPO algorithms: grid search, random search, Hyperband, BO-GP, BO-TPE, particle swarm optimization, and genetic algorithms
- Provides explicit hyperparameter ranges for RF, SVM, KNN, and Keras-based ANNs in tabular form
- Links each technique to existing libraries (hyperopt, scikit-optimize, DEAP, TPOT, etc.)
- Includes practical examples on Boston Housing and MNIST digits
- Python 3.5+ requirement suggests the code has not been refreshed for newer environments
Caveats
- Uses the deprecated
load_bostondataset (removed from scikit-learn 1.2+) - ANN architectures are shallow by current standards; “neurons” and “epochs” are the only structural knobs
- No automated pipeline or CLI; you run the notebooks manually and adapt the code
Verdict
Worth bookmarking if you are writing a literature review or teaching an HPO module. Skip it if you need production-grade automation—this is pedagogy and comparison, not infrastructure.