Skip to main content

PyCCEA logo

PyPI codecov status License Python Versions Downloads


:bulb: Overview

PyCCEA is an open-source package developed as part of ongoing doctoral research. It provides cooperative co-evolutionary strategies tailored for feature selection in large-scale and high-dimensional problems. The framework adopts a modular, decomposition-based approach and is intended for researchers and practitioners tackling complex feature selection tasks.

Note: PyCCEA is a work in progress. Stay tuned for improvements and new algorithm implementations.

:computer: Installation

To install the PyCCEA package directly from PyPI, use the following command in a Python ≥ 3.10 environment:

pip install pyccea

Alternatively, if you want to install the latest version directly from the GitHub:

pip install git+https://github.com/pedbrgs/pyccea.git

Ensure you have pip and an active internet connection to download dependencies.

:high_brightness: Quickstart

This quickstart demonstrates how to use the CCFSRFG1 algorithm — a CCEA variant with random feature grouping — to perform feature selection on the Wisconsin Diagnostic Breast Cancer (WDBC) dataset.

In this example, you will:

  • Load the dataset using the DataLoader utility.
  • Configure the dataset and algorithm from .toml files.
  • Run the optimization process.
import toml
import importlib.resources
from pyccea.coevolution import CCFSRFG1
from pyccea.utils.datasets import DataLoader

# Load dataset parameters
with importlib.resources.open_text("pyccea.parameters", "dataloader.toml") as toml_file:
    data_conf = toml.load(toml_file)

# Initialize the DataLoader with the specified dataset and configuration
data = DataLoader(dataset="wdbc", conf=data_conf)
# Prepare the dataset for the algorithm (e.g., preprocessing, splitting)
data.get_ready()

# Load algorithm-specific parameters
with importlib.resources.open_text("pyccea.parameters", "ccfsrfg.toml") as toml_file:
    ccea_conf = toml.load(toml_file)

# Initialize the cooperative co-evolutionary algorithm
ccea = CCFSRFG1(data=data, conf=ccea_conf, verbose=False)
# Start the optimization process
ccea.optimize()

The best feature subset found is stored in the attribute best_context_vector, a binary array where 1 indicates a selected feature and 0 indicates an unselected one.

:books: Documentation

Full documentation, including a comprehensive user guide, step-by-step tutorials, an API reference, and contribution guidelines, is available at PyCCEA docs.

:scroll: Citation info

If you are using these codes in any way, please cite the following paper:

@article{PyCCEA,
    title = {PyCCEA: A Python package of cooperative co-evolutionary algorithms for feature selection in high-dimensional data},
    author = {Venancio, Pedro Vinicius A. B. and Batista, Lucas S.},
    journal = {Journal of Open Source Software},
    volume = {10},
    number = {112},
    pages = {8348},
    year = {2025}
}

:mailbox: Contact

Please send any bug reports, questions or suggestions directly in the repository.

Release files for pyccea 1.1.0

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

Source distribution (sdist)

Source distribution for pyccea 1.1.0
File Size Uploaded
pyccea-1.1.0.tar.gz 90.3 MB Details

Built distribution (wheel)

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

Total release size: 181.0 MB

Release files / pyccea-1.1.0.tar.gz

Download URL pyccea-1.1.0.tar.gz
Size 90.3 MB
Tags Source
SHA-256 checksum
How to use checksums
6b0b1c46ec88b3db42d7b75a0baa462990322ddf8aa8f93594e09c10d57a9b3d
BLAKE2b-256 checksum
How to use checksums
73f970e80dbc204cd0c7a492c01c83b29ce3304dcb16e49724d6df3517099fae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.1 CPython/3.10.16 Linux/6.11.0-1018-azure

Release files / pyccea-1.1.0-py3-none-any.whl

Download URL pyccea-1.1.0-py3-none-any.whl
Size 90.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1a0eb55d807756a4c2d0cb87929a19d473ff3ee0b8b97ea70769b75173c56c30
BLAKE2b-256 checksum
How to use checksums
80307ffb96f3d9d62aee947f6f7782b99166d78792d1c4b8f7f7cf980f59f0fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.1 CPython/3.10.16 Linux/6.11.0-1018-azure

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.1.0

2 release files

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