$ show automl/auto-sklearn
auto-sklearn is an automated machine learning library offering a scikit-learn-compatible interface for classification and regression. It performs hyperparameter optimization via Bayesian optimization (SMAC), integrates meta-learning to warm-start the search from prior runs, and builds ensembles using Caruana's ensemble selection. The codebase is modular: pipeline components (classifiers, regressors, preprocessors) are defined with ConfigSpace and can be extended via a third-party component system. Parallel execution uses dask, and custom metrics, cross-validation splitters, and early stopping are supported. The repository also contains a substantial research componentβprecomputed meta-features and algorithm run data stored in ARFF formatβand scripts for reproducing experiments. The architecture is well-tested with a comprehensive test suite, though some dependencies are pinned to older versions and there is moderate technical drift.
The LLM identified 3 files worth highlighting for reuse:
A lightweight mock of dask's distributed Client that mimics the submit/Future API for single-process execution. Useful for testing dask-dependent code or running in environments without a cluster. Self-contained and easily extractable.
Custom stratified cross-validation splitters (CustomStratifiedShuffleSplit and CustomStratifiedKFold) that enforce at least one sample per class in the training fold, handling edge cases with low-sample classes. A reusable pattern for any classification pipeline dealing with imbalanced or small datasets.
Implements Caruana's ensemble selection algorithm, which greedily adds models from a candidate pool to an ensemble, optionally with replacement. Clean and self-contained implementation that can be used in other model combination frameworks.