fedora-framework 1.0.1
The Fedora framework package
Requires Python: >=3.10

# The Fedora Framework

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10210815.svg)](https://doi.org/10.5281/zenodo.10210815)
[![PyPI version](https://badge.fury.io/py/fedora-framework.svg)](https://badge.fury.io/py/fedora-framework)

The Fedora Framework is an evolutionary feature engineering framework designed to streamline the process of creating and optimizing features for machine learning tasks. This project offers a flexible and extensible set of tools for feature engineering to help data scientists and machine learning engineers efficiently prepare their data for modelling.

## Features

* **Modular Design:** Fedora Framework is built around a modular architecture that allows you to extend and customize feature engineering components easily. You can mix and match different modules to suit your specific needs, using Context-Free Grammars.
* **Automated Feature Generation:** Fedora Framework provides built-in tools for automatic feature generation, reducing the manual effort required to create features. You can define feature operators and let the framework generate features based on your specifications.
* **Feature Selection and Construction:** Identify and select the most important features for your models using various feature engineering techniques.

## Installation

You can install Fedora Framework from [PyPI](https://pypi.org/project/fedora-framework/) using pip:

```bash
pip3 install fedora-framework
```

## Getting Started

After installing the Fedora framework, check our examples in classical machine learning datasets in the [examples](https://github.com/miguelrabuge/fedora/tree/main/examples) folder. Once inside this directory, to run the MNIST dataset example:

```bash
cd mnist
python3 main.py
```

## Documentation

For more in-depth documentation, please visit our [GitBook documentation](https://miguelrabuge.gitbook.io/fedora/).

## Contributing

We welcome contributions to Fedora Framework. Whether you want to add new features, fix bugs, improve documentation, or suggest enhancements, your contributions are valuable.

Please reach out to us through the available [communication channels](./#contact).

## License

Fedora Framework is open-source and distributed under the MIT License. See [LICENSE](../LICENSE/) for details.

## Contact

If you have questions, suggestions, or need support, feel free to reach out to us:

* GitHub Issues: [https://github.com/miguelrabuge/fedora/issues](https://github.com/miguelrabuge/fedora/issues)
* Email: [rabuge@dei.uc.pt](mailto:rabuge@dei.uc.pt) / [naml@dei.uc.pt](mailto:naml@dei.uc.pt)

## Citations

If you find this project useful or if you use any code, ideas, or resources from it, please consider citing the following sources:

```
Rabuge, M., & Lourenço, N. (2023). The Fedora Framework (Version 1.0.1) [Computer software]. https://doi.org/10.5281/zenodo.10210815
```

```bibtex
@software{
    Rabuge_The_Fedora_Framework_2023,
    author = {Rabuge, Miguel and Lourenço, Nuno},
    doi = {10.5281/zenodo.10210815},
    month = dec,
    title = {{The Fedora Framework}},
    url = {https://github.com/miguelrabuge/fedora},
    version = {1.0.1},
    year = {2023}
}
```

## Publications

🚧 Work in progress 🚧