PyCCEA
PyCCEA: A Python package of cooperative co-evolutionary algorithms for feature selection in high-dimensional data - Published in JOSS (2025)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
○Academic email domains
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Scientific Fields
Repository
A Python package of cooperative co-evolutionary algorithms for feature selection in high-dimensional data.
Basic Info
- Host: GitHub
- Owner: pedbrgs
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://pedbrgs.github.io/PyCCEA/
- Size: 264 MB
Statistics
- Stars: 14
- Watchers: 2
- Forks: 2
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
: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.
```python import toml import importlib.resources from pyccea.coevolution import CCFSRFG1 from pyccea.utils.datasets import DataLoader
Load dataset parameters
with importlib.resources.opentext("pyccea.parameters", "dataloader.toml") as tomlfile: dataconf = toml.load(tomlfile)
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.opentext("pyccea.parameters", "ccfsrfg.toml") as tomlfile: cceaconf = toml.load(tomlfile)
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.
Owner
- Name: Pedro Venâncio
- Login: pedbrgs
- Kind: user
- Location: Belo Horizonte, Brazil
- Company: Big Data
- Website: linkedin.com/in/pedbrgs/
- Twitter: pedbrgs
- Repositories: 11
- Profile: https://github.com/pedbrgs
Data Scientist and PhD Student.
JOSS Publication
PyCCEA: A Python package of cooperative co-evolutionary algorithms for feature selection in high-dimensional data
Authors
Tags
Cooperative Co-Evolutionary Algorithms Feature Selection Machine LearningGitHub Events
Total
- Watch event: 1
- Push event: 157
- Create event: 4
Last Year
- Watch event: 1
- Push event: 157
- Create event: 4
Packages
- Total packages: 1
-
Total downloads:
- pypi 24 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 5
- Total maintainers: 1
pypi.org: pyccea
Cooperative co-evolutionary algorithms for feature selection in high-dimensional data
- Homepage: https://github.com/pedbrgs/PyCCEA
- Documentation: https://pyccea.readthedocs.io/
- License: MIT
-
Latest release: 1.0.2
published 9 months ago
Rankings
Maintainers (1)
Dependencies
- imbalanced-learn ==0.10.1
- numpy ==1.24.4
- pandas ==2.0.3
- scikit-learn ==1.0.2
- scipy ==1.10.1
- toml ==0.10.2
- tqdm ==4.65.0
