Make One Run Reproducible
Record every result-changing input
A reproducible run records code revision, data version, split seed or row IDs, feature list, preprocessing, algorithm settings called hyperparameters, library versions, metrics, and resulting artifact. Hyperparameters are chosen before training; parameters are learned during training.
import sklearn
record = {
'random_state': 42,
'sklearn_version': sklearn.__version__,
'features': list(X.columns),
'metric': 'recall',
}
Randomness appears in splits, subsampling, initialization, and some algorithms. A fixed random_state supports debugging and fair comparison, but trustworthy conclusions should not depend on one lucky seed. Repeat important comparisons across seeds or folds.
Note: Reproducibility means someone can recover the same evidence under the same conditions. It does not guarantee the result generalizes to a changed population.
Goal: The existing MLflow and DVC modules later turn this record-keeping discipline into versioned experiment and dataset evidence.