evo-ens - Evolutionary Ensemble Builder
A scikit-learn-compatible ensemble constructor for tabular data, powered
by DEAP. evo-ens uses a Genetic Algorithm
to decide which candidate models to combine and how to weight them, trading
off predictive score against prediction diversity, complementing
evo-gafs (feature selection) and evo-gpfe
(feature engineering) further upstream in the pipeline.
Part of the evo-suite family (import name: evo_ens).
Documentation: https://evo-suite.readthedocs.io/
Why evo-ens?
| Capability | evo-ens |
|---|---|
| Diversity-aware fitness: score minus a Q-statistic / Pearson-correlation penalty | Yes |
| Out-of-fold pre-computation: candidates cross-validated once, evolution stays cheap | Yes |
Native scikit-learn EvoEnsembleClassifier / EvoEnsembleRegressor, usable in a Pipeline |
Yes |
| Multi-objective NSGA-II mode exposing the full score/compression Pareto front | Yes |
min_models / max_models constraints for edge-deployment budgets |
Yes |
Built-in multi-dataset EvoEnsBenchmarkRunner |
Yes |
Installation
pip install evo-ens # core
pip install "evo-ens[viz]" # + matplotlib for the plotting helpers
Quickstart
from sklearn.datasets import load_breast_cancer
from evo_ens import EvoEnsConfig, EvoEnsembleClassifier
X, y = load_breast_cancer(return_X_y=True, as_frame=True)
clf = EvoEnsembleClassifier(
config=EvoEnsConfig(population_size=60, n_generations=40, diversity_beta=0.10, verbose=False)
)
clf.fit(X, y)
print(clf.result_.summary())
print(clf.get_ensemble_info())
EvoEnsembleRegressor follows the same API for regression targets, scoring
with R² by default.
Documentation & examples
- Full documentation (user guide + API reference): https://evo-suite.readthedocs.io/
- Runnable examples: the repository's
examples/evo-ens/directory.
Citation
@software{evo_ens,
author = {Skrauba, Axel},
title = {evo-ens: Evolutionary Ensemble Builder for tabular data},
year = {2026},
version = {0.1.0},
url = {https://github.com/AxelSkrauba/evo-suite}
}
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evo_ens-0.1.0.tar.gz.
File metadata
- Download URL: evo_ens-0.1.0.tar.gz
- Upload date:
- Size: 23.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a0a62781cbc02b73b9f3171b60c85f05c44fc87c8e2ae7caf80c9211a1cd3f5
|
|
| MD5 |
4578f82d95ad0f12eb5f45ae086d82b0
|
|
| BLAKE2b-256 |
be705170c832d0bcae37f54cd44a8f26ad41be99ce8b23cfe34484ac1a68f991
|
Provenance
The following attestation bundles were made for evo_ens-0.1.0.tar.gz:
Publisher:
publish.yml on AxelSkrauba/evo-suite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evo_ens-0.1.0.tar.gz -
Subject digest:
2a0a62781cbc02b73b9f3171b60c85f05c44fc87c8e2ae7caf80c9211a1cd3f5 - Sigstore transparency entry: 2255140505
- Sigstore integration time:
-
Permalink:
AxelSkrauba/evo-suite@1bffe6ff035cd0f187a9480df9e667c1e8e32500 -
Branch / Tag:
refs/tags/evo-ens-v0.1.0 - Owner: https://github.com/AxelSkrauba
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1bffe6ff035cd0f187a9480df9e667c1e8e32500 -
Trigger Event:
push
-
Statement type:
File details
Details for the file evo_ens-0.1.0-py3-none-any.whl.
File metadata
- Download URL: evo_ens-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3345a18f324648930158c541a7f0e0b28cec960bebfbce0c887933e9f16a798c
|
|
| MD5 |
a995b8f473aeb8d577aff15201dc2ff8
|
|
| BLAKE2b-256 |
124355dabd6027a0f6d0ecd3f1a11b81ed729fabc73a0a916495b84874459ef9
|
Provenance
The following attestation bundles were made for evo_ens-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on AxelSkrauba/evo-suite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evo_ens-0.1.0-py3-none-any.whl -
Subject digest:
3345a18f324648930158c541a7f0e0b28cec960bebfbce0c887933e9f16a798c - Sigstore transparency entry: 2255140555
- Sigstore integration time:
-
Permalink:
AxelSkrauba/evo-suite@1bffe6ff035cd0f187a9480df9e667c1e8e32500 -
Branch / Tag:
refs/tags/evo-ens-v0.1.0 - Owner: https://github.com/AxelSkrauba
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1bffe6ff035cd0f187a9480df9e667c1e8e32500 -
Trigger Event:
push
-
Statement type: