💡 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.
💻 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.
🔆 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
DataLoaderutility. - Configure the dataset and algorithm from
.tomlfiles. - 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.
📚 Documentation
Full documentation, including a comprehensive user guide, step-by-step tutorials, an API reference, and contribution guidelines, is available at PyCCEA docs.
📜 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}
}
📫 Contact
Please send any bug reports, questions or suggestions directly in the repository.
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyccea-1.1.0.tar.gz | 90.3 MB | Without provenance | Details for pyccea-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyccea-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for pyccea-1.1.0-py3-none-any.whl |
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
|
Security for pyccea 1.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.