Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

EnsembleSet

Publish to PyPI Publish to TestPyPI PR Validation pages-build-deployment Documentation

EnsembleSet generates dataset ensembles by applying a randomized sequence of feature engineering methods to a randomized subset of input features.

1. Installation

Install the pre-release alpha from PyPI with:

pip install ensembleset

2. Usage

See the example usage notebook.

Initialize an EnsembleSet class instance, passing in the label name and training DataFrame. Optionally, include a test DataFrame and/or list of any string features and the path where you want EnsembleSet to put data. Then call the make_datasets() to generate an EnsembleSet, specifying:

  1. The number of individual datasets to generate.
  2. The fraction of features to randomly select for each feature engineering step.
  3. The number of feature engineering steps to run.
import ensembleset.dataset as ds

data_ensemble=ds.DataSet(
    label='label_column_name',                       # Required
    train_data=train_df,                             # Required
    test_data=test_df,                               # Optional, defaults to None
    string_features=['string_feature_column_names'], # Optional, defaults to None
    data_directory='path/to/ensembleset/data'        # Optional, defaults to ./data
)

data_ensemble.make_datasets(
    n_datasets=10,         # Required
    fraction_features=0.1, # Required
    n_steps=5              # Required
)

The above call to make_datasets() will generate 10 different datasets using a random sequence of 5 feature engineering techniques applied to a randomly selected 10% of features. The feature selection is re-calculated after each feature engineering step. Each feature engineering step is applied to the test set if one is provided with a minimum of data leakage (e.g. gaussian KDE is calculated from training data only and then applied to training and testing data).

By default, generated datasets will be saved to HDF5 in data/dataset.h5 using the following structure:

dataset.h5
├──train
│   ├── labels
|   ├── 1
|   ├── .
|   ├── .
|   ├── .
|   └── n
│
└──test
    ├── labels
    ├── 1
    ├── .
    ├── .
    ├── .
    └── n

3. Feature engineering

The currently implemented pool of feature engineering methods are:

  1. One-hot encoding for string features
  2. Ordinal encoding for string features
  3. Log features with bases 2, e or 10
  4. Ratio features
  5. Exponential features with base 2 or e
  6. Sum features with 2, 3, or 4
  7. Difference features with 2, 3 or 4 subtrahends
  8. Polynomial features with degree 2 or 3
  9. Spline features with degree 2, 3 or 4
  10. Quantized features with using randomly selected k-bins
  11. Smoothed features with gaussian kernel density estimation

Major feature engineering parameters are also randomly selected for each step.

Release files for ensembleset 1.0a23

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ensembleset 1.0a23
File Size Uploaded
ensembleset-1.0a23.tar.gz 27.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ensembleset 1.0a23
File Interpreter ABI Platform
ensembleset-1.0a23-py3-none-any.whl Python 3 none any Details

Total release size: 56.1 kB

Release files / ensembleset-1.0a23.tar.gz

Download URL ensembleset-1.0a23.tar.gz
Size 27.4 kB
Tags Source
SHA-256 checksum
How to use checksums
99cb5a93c73b16a4b45c2d045f9d9a6e1f3693b7f18ca6e9c194186b0665a8a2
BLAKE2b-256 checksum
How to use checksums
372625ec9a83ece000f7b49fa6dbae0c8f2b4157e001cae06c130ce566d3b852
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 2, 2025.

Transparency log

Release files / ensembleset-1.0a23-py3-none-any.whl

Download URL ensembleset-1.0a23-py3-none-any.whl
Size 28.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2103ddc28ddf416e468040ceb7b4c81093a49d9aeb2856474940e4aef0afaad2
BLAKE2b-256 checksum
How to use checksums
96070cba09ed4239433756c9075f9a7fd2828fb147fe71ced0f9fc328f51f3ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 2, 2025.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page