Release Notes
0.13.0
Breaking Changes
crossover_probabilitydefault changed from0.2→0.8;mutation_probabilitydefault changed from0.8→0.1for bothGASearchCVandGAFeatureSelectionCV.diversity_controlnow defaults toTrueanddiversity_thresholdnow defaults to0.25. Previouslydiversity_controldefaulted toFalseanddiversity_thresholddefaulted to0.1. Setdiversity_control=Falseto restore the previous behavior.The fitness function for
GASearchCVis now single-objective (CV score only). Previously anovelty_scorebased on Hamming distance was included as a second objective. This caused Pareto-dominance comparisons to favor diverse-but-lower-scoring candidates over better candidates, reducing search quality. Fitness sharing and diversity control already maintain population diversity without corrupting the primary fitness signal.GAFeatureSelectionCVretains its two-objective fitness (CV score + feature count) unchanged.
New Features
Parallel candidate evaluation: candidates within a generation are de-duplicated and unique candidates are evaluated in parallel via
n_jobs. Addedparallel_backend("auto","population","cv") to control the parallelism strategy.fit_stats_: new attribute with evaluation counters —evaluated_candidates,unique_candidates,cross_validate_calls,cache_hits,duplicate_candidates,skipped_invalid_candidates,random_immigrants,local_refinement_candidates.Optimizer telemetry in
history: new per-generation fields —genotype_diversity,unique_individual_ratio,fitness_best,stagnation_generations,diversity_control_triggered, and others.Smart initialization:
PopulationConfig(initializer="smart")uses Latin hypercube sampling for numeric parameters, estimator defaults, warm-start seeds, and stratified categorical values. Setinitializer="random"to use the previous behavior.Grouped config objects:
EvolutionConfig,PopulationConfig,RuntimeConfig, andOptimizationConfigprovide a cleaner API for advanced settings. The previous flat keyword parameters remain supported for backward compatibility.Local search:
OptimizationConfig(local_search=True)runs a short neighborhood search around hall-of-fame candidates after the genetic search.Fitness sharing:
OptimizationConfig(fitness_sharing=True)reduces the fitness of individuals in crowded niches to promote niche exploration.Adaptive tournament selection:
adaptive_selection=Trueadjusts selection pressure based on population diversity and stagnation.Final selection:
final_selection=Truere-evaluates the top-K candidates after the GA and selects the best before refitting.Uniform crossover:
GASearchCVnow usescxUniform(50% per-gene swap probability) instead of two-point crossover for mixed-type hyperparameter spaces.Compact verbose log: the generation log now shows
div,unique,stag, andeventscolumns.Expanded plots:
plot_fitness_evolutionsupports multiple metrics and smoothing;plot_historycan visualize arbitrary telemetry fields;plot_search_spaceadds pair-plot mode and correlation heatmap.
Bug Fixes
- Fixed fitted estimator persistence by excluding volatile DEAP runtime objects from the saved state.
- Fixed type preservation for hyperparameter candidates across all population operations.
- Fixed smart feature-selection initialization to respect
max_featuresand always select at least one feature. - Fixed convergence telemetry so local refinement updates the final generation history row.
0.12.0
- Added compatibility for outlier detection algorithms.
0.11.1
- Fixed
AttributeError: 'GASearchCV' object has no attribute 'creator'.
0.11.0
- Added
use_cacheparameter (defaultTrue) to skip re-evaluating already-seen configurations. - Added
warm_start_configstoGAFeatureSelectionCV. - Introduced novelty search strategy to
GASearchCV(later revised in 0.13.0).
0.10.0
GAFeatureSelectionCVnow mimics the scikit-learn FeatureSelection API.- Improved candidate generation when
max_featuresis set. - Dropped Python 3.7 support; added Python 3.10+ support.
0.9.0
- Introduced adaptive schedulers:
ConstantAdapter,ExponentialAdapter,InverseAdapter,PotentialAdapter. - Added
random_stateparameter toContinuous,Categorical, andInteger.
0.8.0
- Added
max_featurestoGAFeatureSelectionCV. - Added multi-metric evaluation support.
- Training now gracefully handles
KeyboardInterrupt,SystemExit,StopIteration.
0.7.0
- Added
GAFeatureSelectionCVfor wrapper-based feature selection.
0.6.0
- Added
ProgressBar,TensorBoard,TimerStoppingcallbacks. - Added
on_start/on_endlifecycle hooks toBaseCallback. - Seaborn and MLflow are now optional extras.
0.5.0
- Built-in MLflow integration via
MLflowConfig. - Added
LogbookSavercallback.
0.4.0
- Added
ConsecutiveStopping,ThresholdStopping,DeltaThresholdcallbacks. - Added
plot_search_spacefunction. - Sphinx documentation on Read the Docs.
0.1–0.3
- Initial release of
GASearchCV. - Added
param_grid,plot_fitness_evolution, DEAP integration. - Added
Space,Integer,Continuous,Categoricalclasses.
