mggpy 0.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
mggpy-0.0.3/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 RafaelSantos
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
mggpy-0.0.3/PKG-INFO ADDED
@@ -0,0 +1,112 @@
1
+ Metadata-Version: 2.4
2
+ Name: mggpy
3
+ Version: 0.0.3
4
+ Summary: Multi-Gene Genetic Programming for system identification and regression
5
+ Author-email: Rafael Avila <rafael.santos0t5@gmail.com>, Henrique Castro <henriquec.castro@outlook.com>
6
+ License: MIT
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: numpy>=1.26
11
+ Requires-Dist: deap>=1.4
12
+ Requires-Dist: tqdm>=4.67
13
+ Dynamic: license-file
14
+
15
+ # MGGP (Multigene Genetic Programming)
16
+
17
+ [![Version](https://img.shields.io/badge/version-0.0.3-blue.svg)](https://github.com/RafaelGAT108/mggp_model/releases/tag/v0.0.3)
18
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
19
+
20
+ A flexible and extensible implementation of **Multigene Genetic Programming (MGGP)** focused on **system identification** and **symbolic modeling**, supporting:
21
+
22
+ - **Regression (static and dynamic systems)**
23
+ - **Classification tasks**
24
+ - **Dynamic models in NARX and FIR formulations**
25
+ - **SISO, MISO, and MIMO system configurations**
26
+
27
+ ---
28
+
29
+ ## πŸ“¦ Version: v0.0.3 (Latest Release)
30
+
31
+ This version introduces important improvements in **modeling capabilities**, **code clarity**, and **project structure**, moving the project closer to a fully packaged Python library.
32
+
33
+ ### πŸš€ What's new?
34
+
35
+ - βœ… **Improved readability of Free-Run and Multi-Shooting (MShooting) implementations**
36
+ - Clearer iteration flow
37
+ - Explicit batch handling in MShooting
38
+ - Consistent behavior across **SISO, MISO, and MIMO**
39
+
40
+ - βœ… **Support for current input term `u[k]`**
41
+ Previously, models only considered delayed inputs (`u[k-1], ..., u[k-lagMax]`).
42
+ Including `u[k]` significantly enhances the expressive power of the identified models.
43
+
44
+ - βœ… **Advancements toward packaging as a Python library**
45
+ Internal refactoring and structural improvements preparing for future PyPI release.
46
+
47
+ - βœ… **Improved symbolic simplification for SISO models**
48
+ Cleaner and more interpretable final equations.
49
+
50
+ - βœ… **General code cleanup and notebook reorganization**
51
+
52
+ ---
53
+
54
+
55
+ ## 🧠 Core Features
56
+
57
+ - Symbolic regression via **Multigene Genetic Programming**
58
+ - Support for **dynamic system identification (NARX / FIR)**
59
+ - Native handling of:
60
+ - SISO (Single Input Single Output)
61
+ - MISO (Multiple Input Single Output)
62
+ - MIMO (Multiple Input Multiple Output)
63
+ - Free-run simulation and **multi-shooting training strategies**
64
+ - Interpretable model structures (explicit equations)
65
+
66
+ ---
67
+
68
+ ## πŸš€ Quick Start
69
+
70
+ Before start to run any notebook, run the code below to install the mggp as a library:
71
+
72
+ ```bash
73
+ pip install -e .
74
+ ```
75
+
76
+ otherwise, you'll need use:
77
+ ```python
78
+ src.mggp import MGGP
79
+ ```
80
+
81
+ Check out the example notebook to get started:
82
+
83
+ πŸ““ **`01_MGGP_Regression.ipynb`** - Demonstrates how to configure and use MGGP for Regression problems, and
84
+
85
+ πŸ““ **`01_MGGP_Classifier.ipynb`** - Demonstrates how to configure and use MGGP for Classification problems.
86
+
87
+
88
+
89
+ ## πŸ“‹ Requirements
90
+
91
+ The requirements are descript in the requirements.txt
92
+
93
+ This implementation is based on the MGGP methodology described in the following papers:
94
+
95
+ ### Foundational Works
96
+
97
+ **Multi-Gene Genetic Programming for Nonlinear MIMO Modeling of F16 Aircraft Ground Vibrations**
98
+
99
+ > DOS SANTOS, Rafael Ávila et al. Multi-Gene Genetic Programming para Modelagem MIMO Nao Linear das Vibraçoes de uma Aeronave F16 no Solo.*
100
+
101
+ [πŸ“„ Download PDF](https://www.researchgate.net/profile/Rafael-Dos-Santos-26/publication/400395141_Multi-Gene_Genetic_Programming_para_Modelagem_MIMO_Nao_Linear_das_Vibracoes_de_uma_Aeronave_F16_no_Solo/links/69820b695d60ab48356a7d4f/Multi-Gene-Genetic-Programming-para-Modelagem-MIMO-Nao-Linear-das-Vibracoes-de-uma-Aeronave-F16-no-Solo.pdf)
102
+
103
+
104
+ **A Novel MIMO Multi-Gene Genetic Programming Approach for Interpretable NARX Models: an application to vehicle state estimation**
105
+
106
+ > 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.*
107
+
108
+ [πŸ“„ Download PDF](https://doi.org/10.2139/ssrn.5946034)
109
+
110
+ ## 🀝 Contributing
111
+
112
+ Contributions are welcome! Feel free to open issues or submit pull requests.
mggpy-0.0.3/README.md ADDED
@@ -0,0 +1,98 @@
1
+ # MGGP (Multigene Genetic Programming)
2
+
3
+ [![Version](https://img.shields.io/badge/version-0.0.3-blue.svg)](https://github.com/RafaelGAT108/mggp_model/releases/tag/v0.0.3)
4
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
+
6
+ A flexible and extensible implementation of **Multigene Genetic Programming (MGGP)** focused on **system identification** and **symbolic modeling**, supporting:
7
+
8
+ - **Regression (static and dynamic systems)**
9
+ - **Classification tasks**
10
+ - **Dynamic models in NARX and FIR formulations**
11
+ - **SISO, MISO, and MIMO system configurations**
12
+
13
+ ---
14
+
15
+ ## πŸ“¦ Version: v0.0.3 (Latest Release)
16
+
17
+ This version introduces important improvements in **modeling capabilities**, **code clarity**, and **project structure**, moving the project closer to a fully packaged Python library.
18
+
19
+ ### πŸš€ What's new?
20
+
21
+ - βœ… **Improved readability of Free-Run and Multi-Shooting (MShooting) implementations**
22
+ - Clearer iteration flow
23
+ - Explicit batch handling in MShooting
24
+ - Consistent behavior across **SISO, MISO, and MIMO**
25
+
26
+ - βœ… **Support for current input term `u[k]`**
27
+ Previously, models only considered delayed inputs (`u[k-1], ..., u[k-lagMax]`).
28
+ Including `u[k]` significantly enhances the expressive power of the identified models.
29
+
30
+ - βœ… **Advancements toward packaging as a Python library**
31
+ Internal refactoring and structural improvements preparing for future PyPI release.
32
+
33
+ - βœ… **Improved symbolic simplification for SISO models**
34
+ Cleaner and more interpretable final equations.
35
+
36
+ - βœ… **General code cleanup and notebook reorganization**
37
+
38
+ ---
39
+
40
+
41
+ ## 🧠 Core Features
42
+
43
+ - Symbolic regression via **Multigene Genetic Programming**
44
+ - Support for **dynamic system identification (NARX / FIR)**
45
+ - Native handling of:
46
+ - SISO (Single Input Single Output)
47
+ - MISO (Multiple Input Single Output)
48
+ - MIMO (Multiple Input Multiple Output)
49
+ - Free-run simulation and **multi-shooting training strategies**
50
+ - Interpretable model structures (explicit equations)
51
+
52
+ ---
53
+
54
+ ## πŸš€ Quick Start
55
+
56
+ Before start to run any notebook, run the code below to install the mggp as a library:
57
+
58
+ ```bash
59
+ pip install -e .
60
+ ```
61
+
62
+ otherwise, you'll need use:
63
+ ```python
64
+ src.mggp import MGGP
65
+ ```
66
+
67
+ Check out the example notebook to get started:
68
+
69
+ πŸ““ **`01_MGGP_Regression.ipynb`** - Demonstrates how to configure and use MGGP for Regression problems, and
70
+
71
+ πŸ““ **`01_MGGP_Classifier.ipynb`** - Demonstrates how to configure and use MGGP for Classification problems.
72
+
73
+
74
+
75
+ ## πŸ“‹ Requirements
76
+
77
+ The requirements are descript in the requirements.txt
78
+
79
+ This implementation is based on the MGGP methodology described in the following papers:
80
+
81
+ ### Foundational Works
82
+
83
+ **Multi-Gene Genetic Programming for Nonlinear MIMO Modeling of F16 Aircraft Ground Vibrations**
84
+
85
+ > DOS SANTOS, Rafael Ávila et al. Multi-Gene Genetic Programming para Modelagem MIMO Nao Linear das Vibraçoes de uma Aeronave F16 no Solo.*
86
+
87
+ [πŸ“„ Download PDF](https://www.researchgate.net/profile/Rafael-Dos-Santos-26/publication/400395141_Multi-Gene_Genetic_Programming_para_Modelagem_MIMO_Nao_Linear_das_Vibracoes_de_uma_Aeronave_F16_no_Solo/links/69820b695d60ab48356a7d4f/Multi-Gene-Genetic-Programming-para-Modelagem-MIMO-Nao-Linear-das-Vibracoes-de-uma-Aeronave-F16-no-Solo.pdf)
88
+
89
+
90
+ **A Novel MIMO Multi-Gene Genetic Programming Approach for Interpretable NARX Models: an application to vehicle state estimation**
91
+
92
+ > 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.*
93
+
94
+ [πŸ“„ Download PDF](https://doi.org/10.2139/ssrn.5946034)
95
+
96
+ ## 🀝 Contributing
97
+
98
+ Contributions are welcome! Feel free to open issues or submit pull requests.
@@ -0,0 +1,28 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "mggpy"
7
+ version = "0.0.3"
8
+ description = "Multi-Gene Genetic Programming for system identification and regression"
9
+
10
+ license = {text = "MIT"}
11
+ authors = [
12
+ {name = "Rafael Avila", email = "rafael.santos0t5@gmail.com"},
13
+ {name = "Henrique Castro", email = "henriquec.castro@outlook.com"},
14
+ ]
15
+ readme = "README.md"
16
+ requires-python = ">=3.10"
17
+
18
+ dependencies = [
19
+ "numpy>=1.26",
20
+ "deap>=1.4",
21
+ "tqdm>=4.67",
22
+ ]
23
+
24
+ [tool.setuptools.packages.find]
25
+ where = ["src"]
26
+
27
+ [tool.pytest.ini_options]
28
+ addopts = "--cov=mggp --cov-report=term-missing"
mggpy-0.0.3/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,3 @@
1
+ from .mggp import MGGP
2
+
3
+ __all__ = ["MGGP"]