Multi-Gene Genetic Programming for system identification and regression
Project description
MGGP (Multigene Genetic Programming)
A flexible and extensible implementation of Multigene Genetic Programming (MGGP) focused on system identification and symbolic modeling, supporting:
- Regression (static and dynamic systems)
- Classification tasks
- Dynamic models in NARX and FIR formulations
- SISO, MISO, and MIMO system configurations
📦 Version: v0.0.3 (Latest Release)
This version introduces important improvements in modeling capabilities, code clarity, and project structure, moving the project closer to a fully packaged Python library.
🚀 What's new?
-
✅ Improved readability of Free-Run and Multi-Shooting (MShooting) implementations
- Clearer iteration flow
- Explicit batch handling in MShooting
- Consistent behavior across SISO, MISO, and MIMO
-
✅ Support for current input term
u[k]
Previously, models only considered delayed inputs (u[k-1], ..., u[k-lagMax]).
Includingu[k]significantly enhances the expressive power of the identified models. -
✅ Advancements toward packaging as a Python library
Internal refactoring and structural improvements preparing for future PyPI release. -
✅ Improved symbolic simplification for SISO models
Cleaner and more interpretable final equations. -
✅ General code cleanup and notebook reorganization
🧠 Core Features
- Symbolic regression via Multigene Genetic Programming
- Support for dynamic system identification (NARX / FIR)
- Native handling of:
- SISO (Single Input Single Output)
- MISO (Multiple Input Single Output)
- MIMO (Multiple Input Multiple Output)
- Free-run simulation and multi-shooting training strategies
- Interpretable model structures (explicit equations)
🚀 Quick Start
Before start to run any notebook, run the code below to install the mggp as a library:
pip install -e .
otherwise, you'll need use:
src.mggp import MGGP
Check out the example notebook to get started:
📓 01_MGGP_Regression.ipynb - Demonstrates how to configure and use MGGP for Regression problems, and
📓 01_MGGP_Classifier.ipynb - Demonstrates how to configure and use MGGP for Classification problems.
📋 Requirements
The requirements are descript in the requirements.txt
This implementation is based on the MGGP methodology described in the following papers:
Foundational Works
Multi-Gene Genetic Programming for Nonlinear MIMO Modeling of F16 Aircraft Ground Vibrations
DOS SANTOS, Rafael Ávila et al. Multi-Gene Genetic Programming para Modelagem MIMO Nao Linear das Vibraçoes de uma Aeronave F16 no Solo.*
A Novel MIMO Multi-Gene Genetic Programming Approach for Interpretable NARX Models: an application to vehicle state estimation
HENRIQUE GROENNER BARBOSA, Bruno et al. A Novel MIMO Multi-Gene Genetic Programming Approach for Interpretable NARX Models: an application to vehicle state estimation. Henrique and Ávila Santos, Rafael and Correa Victorino, Alessandro and Askari, Hassan and Xu, Nan, A Novel MIMO Multi-Gene Genetic Programming Approach for Interpretable NARX Models: an application to vehicle state estimation.*
🤝 Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
Project details
Release history Release notifications | RSS feed
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 mggpy-0.0.3.tar.gz.
File metadata
- Download URL: mggpy-0.0.3.tar.gz
- Upload date:
- Size: 28.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bf081952e90c5de604c50396b607a73fba719cf47ac200299c1ef4056164ef2
|
|
| MD5 |
38c6df0b193111b2cf631ed036d9584f
|
|
| BLAKE2b-256 |
76623a6aaa62e5c12de458e212366b21522701f8aebdf670a05d34b5bf00b675
|
File details
Details for the file mggpy-0.0.3-py3-none-any.whl.
File metadata
- Download URL: mggpy-0.0.3-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e55c154650bf2ef7f73ecbf0c6085a4e9caf80d957334e9b871c1a0a8cb4d69
|
|
| MD5 |
68bc64d1765ac43a4e71122e4f0adb78
|
|
| BLAKE2b-256 |
71b1134f7c131c352739b85fe975924e8f810236f27ca04fafd8b8defd9e1e51
|