Skip to main content

Universal Evolutionary Feature Discovery and Selection Framework

Project description

UEFDS — Universal Evolutionary Feature Discovery and Selection Framework

A domain-agnostic, two-stage evolutionary system for automatic feature engineering: expression-tree genetic programming discovers candidate features (Stage 1), then a genetic-algorithm wrapper selects the best subset for a real model (Stage 2, in progress).

This package currently implements Stage 1.

Install

pip install -e .

(editable install — recommended while you're actively developing this)

For development/testing extras:

pip install -e ".[dev]"

Quick start

from sklearn.datasets import load_breast_cancer
from uefds import Stage1Config, run_stage1

data = load_breast_cancer()
X, y = data.data, data.target
feature_names = list(data.feature_names)

config = Stage1Config(
    population_size=50,
    n_generations=30,
    task="classification",       # or "regression"
    protected_features=[0],      # optional: guarantee feature 0 never disappears
)

result = run_stage1(X, y, feature_names, config)

print(result["hall_of_fame"].summary(n=10))

Run the full example:

python examples/demo_stage1.py

Package layout

src/uefds/
├── operators.py          operator library + operator-learning tracker
├── tree.py                 expression tree chromosome + breeding operators
├── fitness.py               Quality / Diversity / Simplicity scoring
├── hall_of_fame.py         archive + lineage tracking
└── stage1_discovery.py     main generation loop

Status

  • Stage 1 — Evolutionary Feature Discovery
  • Compression layer (correlation/MI clustering dedup)
  • Stage 2 — Evolutionary Feature Selection (GA wrapper + XGBoost + SHAP)
  • NSGA-II multi-objective selection mode
  • Validation framework (CV / time-based / out-of-time splits)

Requirements

  • Python >= 3.10
  • numpy >= 1.24
  • scikit-learn >= 1.3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uefds-0.1.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uefds-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file uefds-0.1.0.tar.gz.

File metadata

  • Download URL: uefds-0.1.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for uefds-0.1.0.tar.gz
Algorithm Hash digest
SHA256 68ab5668c8d6718a47306681bd97d937d710fbd4c1996a7b58f8f8c279c22fc8
MD5 6bdb1a8161c2219c3510b91c54e59b8d
BLAKE2b-256 29d44d5f60ef64c58809b8b3e6ce1bd01ca8782375e9aaa60b766b45e2c8cfd3

See more details on using hashes here.

File details

Details for the file uefds-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: uefds-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for uefds-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 139c0a05e22d06d30740dff6f9f6914c1dc2fa149c6bcc2a6f2e6d3f74d540a4
MD5 b17f9df4d4a31e6f3c5a39585b3c31a7
BLAKE2b-256 3c4f9d8127d6d48aa9782cfa0c9137bc156b62ca120ecff17c9f6ed4fe6fc00c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page