Cooperative co-evolutionary algorithms for feature selection in high-dimensional data
Project description
: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
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.
: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.
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
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 pyccea-1.1.0.tar.gz.
File metadata
- Download URL: pyccea-1.1.0.tar.gz
- Upload date:
- Size: 90.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.1 CPython/3.10.16 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b0b1c46ec88b3db42d7b75a0baa462990322ddf8aa8f93594e09c10d57a9b3d
|
|
| MD5 |
19ea99c55abd8de0bc11884f9e1ff8f7
|
|
| BLAKE2b-256 |
73f970e80dbc204cd0c7a492c01c83b29ce3304dcb16e49724d6df3517099fae
|
File details
Details for the file pyccea-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pyccea-1.1.0-py3-none-any.whl
- Upload date:
- Size: 90.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.1 CPython/3.10.16 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a0eb55d807756a4c2d0cb87929a19d473ff3ee0b8b97ea70769b75173c56c30
|
|
| MD5 |
5a13231f95c6bc856cba107e8b0f161b
|
|
| BLAKE2b-256 |
80307ffb96f3d9d62aee947f6f7782b99166d78792d1c4b8f7f7cf980f59f0fb
|