|
23 | 23 | [](https://www.gnu.org/licenses/gpl-3.0) |
24 | 24 |
|
25 | 25 |
|
26 | | -MetaPerceptron (Metaheuristic-optimized Multi-Layer Perceptron) is a Python library that implements variants and the |
27 | | -traditional version of Multi-Layer Perceptron models. These include Metaheuristic-trained MLP models (GA, PSO, WOA, TLO, DE, ...) |
28 | | -and Gradient Descent-trained MLP models (SGD, Adam, Adelta, Adagrad, ...). It provides a comprehensive list of |
29 | | -optimizers for training MLP models and is also compatible with the Scikit-Learn library. With MetaPerceptron, |
30 | | -you can perform searches and hyperparameter tuning using the features provided by the Scikit-Learn library. |
| 26 | +`MetaPerceptron` (Metaheuristic-optimized Multi-Layer Perceptron) is a powerful and extensible Python library that |
| 27 | +brings the best of both worlds: metaheuristic optimization and deep learning via Multi-Layer Perceptron (MLP). |
| 28 | +Whether you're working with classic Gradient Descent techniques or state-of-the-art metaheuristic algorithms |
| 29 | +like GA, PSO, WOA, DE, etc., `MetaPerceptron` has you covered. With `MetaPerceptron`, you can perform searches, |
| 30 | +feature selection, and hyperparameter tuning using the features provided by the Scikit-Learn library. |
31 | 31 |
|
32 | | -* **Free software:** GNU General Public License (GPL) V3 license |
33 | | -* **Provided Estimator**: `MlpRegressor`, `MlpClassifier`, `MhaMlpRegressor`, `MhaMlpClassifier` |
34 | | -* **Provided Utility**: `MhaMlpTuner` and `MhaMlpComparator` |
35 | | -* **Total Metaheuristic-trained MLP Regressor**: > 200 Models |
36 | | -* **Total Metaheuristic-trained MLP Classifier**: > 200 Models |
37 | | -* **Total Gradient Descent-trained MLP Regressor**: 12 Models |
38 | | -* **Total Gradient Descent-trained MLP Classifier**: 12 Models |
39 | | -* **Supported performance metrics**: >= 67 (47 regressions and 20 classifications) |
40 | | -* **Supported utility functions**: GPU for Gradient-based models, Scikit-learn compatibility, and more |
41 | | -* **Documentation:** https://metaperceptron.readthedocs.io |
42 | | -* **Python versions:** >= 3.8.x |
43 | | -* **Dependencies:** numpy, scipy, scikit-learn, pytorch, mealpy, pandas, permetrics. |
| 32 | +## 🚀 Features at a Glance |
44 | 33 |
|
| 34 | +- 🔧 **Estimators**: `MlpRegressor`, `MlpClassifier`, `MhaMlpRegressor`, `MhaMlpClassifier` |
| 35 | +- 📊 **Utilities**: `MhaMlpTuner`, `MhaMlpComparator` |
| 36 | +- 🧠 **Model Zoo**: |
| 37 | + - 200+ Metaheuristic-trained MLP Regressors |
| 38 | + - 200+ Metaheuristic-trained MLP Classifiers |
| 39 | + - 12 Gradient Descent-trained MLP Regressors |
| 40 | + - 12 Gradient Descent-trained MLP Classifiers |
| 41 | +- 📏 **67+ Performance Metrics** (47 for regression, 20 for classification) |
| 42 | +- ⚙️ **Support**: GPU support (for GD-based models), Scikit-learn compatible API |
| 43 | +- 📚 **Documentation**: https://metaperceptron.readthedocs.io |
| 44 | +- 🐍 **Python**: 3.8+ |
| 45 | +- 📦 **Dependencies**: numpy, scipy, scikit-learn, pytorch, mealpy, pandas, permetrics |
45 | 46 |
|
46 | | -# Citation Request |
47 | 47 |
|
48 | | -If you want to understand how Metaheuristic is applied to Multi-Layer Perceptron, you need to read the paper [link](https://doi.org/10.1016/j.csi.2025.103977) |
| 48 | +## 📖 Citation |
49 | 49 |
|
| 50 | +If MetaPerceptron supports your work, please consider citing the following: |
50 | 51 |
|
51 | | -Please include these citations if you plan to use this library: |
52 | | - |
53 | | -```code |
| 52 | +```bibtex |
54 | 53 | @article{van2025metaperceptron, |
55 | 54 | title={MetaPerceptron: A Standardized Framework for Metaheuristic-Driven Multi-Layer Perceptron Optimization}, |
56 | 55 | author={Van Thieu, Nguyen and Mirjalili, Seyedali and Garg, Harish and Hoang, Nguyen Thanh}, |
@@ -83,30 +82,36 @@ Please include these citations if you plan to use this library: |
83 | 82 | } |
84 | 83 | ``` |
85 | 84 |
|
86 | | -# Simple Tutorial |
87 | 85 |
|
88 | | -* Install the [current PyPI release](https://pypi.python.org/pypi/metaperceptron): |
89 | | -```sh |
90 | | -$ pip install metaperceptron |
| 86 | +## 🧪 Quick Start |
| 87 | + |
| 88 | +Install via [current PyPI release](https://pypi.python.org/pypi/metaperceptron): |
| 89 | + |
| 90 | +```bash |
| 91 | +pip install metaperceptron |
91 | 92 | ``` |
92 | 93 |
|
93 | | -* Check the version: |
| 94 | +Check version: |
94 | 95 |
|
95 | | -```sh |
96 | | -$ python |
97 | | ->>> import metaperceptron |
98 | | ->>> metaperceptron.__version__ |
| 96 | +```python |
| 97 | +import metaperceptron |
| 98 | +print(metaperceptron.__version__) |
99 | 99 | ``` |
100 | 100 |
|
101 | | -* Here is how you can import all provided classes from `MetaPerceptron` |
| 101 | + |
| 102 | +### ✅ Import core components |
| 103 | + |
| 104 | +Here is how you can import all provided classes from `MetaPerceptron` |
102 | 105 |
|
103 | 106 | ```python |
104 | 107 | from metaperceptron import DataTransformer, Data |
105 | 108 | from metaperceptron import MhaMlpRegressor, MhaMlpClassifier, MlpRegressor, MlpClassifier |
106 | 109 | from metaperceptron import MhaMlpTuner, MhaMlpComparator |
107 | 110 | ``` |
108 | 111 |
|
109 | | -* In this tutorial, we will use Genetic Algorithm to train Multi-Layer Perceptron network for classification task. |
| 112 | +### 🔍 Example: Training an MLP Classifier with Genetic Algorithm |
| 113 | + |
| 114 | +In this tutorial, we will use Genetic Algorithm to train Multi-Layer Perceptron network for classification task. |
110 | 115 | For more complex examples and use cases, please check the folder [examples](examples). |
111 | 116 |
|
112 | 117 | ```python |
@@ -144,14 +149,15 @@ print(model.score(X_test_scaled, y_test)) |
144 | 149 | print(model.evaluate(y_true=y_test, y_pred=y_pred, list_metrics=["AS", "PS", "RS", "F2S", "CKS", "FBS"])) |
145 | 150 | ``` |
146 | 151 |
|
| 152 | +## 💬 Support |
147 | 153 |
|
148 | | -# Support (questions, problems) |
| 154 | +- 📦 [Source Code](https://github.com/thieu1995/MetaPerceptron) |
| 155 | +- 📖 [Documentation](https://metaperceptron.readthedocs.io/) |
| 156 | +- ⬇️ [PyPI Releases](https://pypi.org/project/metaperceptron/) |
| 157 | +- ❗ [Report Issues](https://github.com/thieu1995/MetaPerceptron/issues) |
| 158 | +- 📝 [Changelog](https://github.com/thieu1995/MetaPerceptron/blob/master/ChangeLog.md) |
| 159 | +- 💬 [Chat Group](https://t.me/+fRVCJGuGJg1mNDg1) |
149 | 160 |
|
150 | | -### Official Links |
| 161 | +--- |
151 | 162 |
|
152 | | -* Official source code repo: [link](https://github.com/thieu1995/MetaPerceptron) |
153 | | -* Official document: [link](https://metapeceptron.readthedocs.io/) |
154 | | -* Download releases: [link](https://pypi.org/project/metaperceptron/) |
155 | | -* Issue tracker: [link](https://github.com/thieu1995/MetaPerceptron/issues) |
156 | | -* Notable changes log: [link](https://github.com/thieu1995/MetaPerceptron/blob/master/ChangeLog.md) |
157 | | -* Official chat group: [link](https://t.me/+fRVCJGuGJg1mNDg1) |
| 163 | +Developed by: [Thieu ](mailto:[email protected]?Subject=MetaPerceptron_QUESTIONS) @ 2025 |
0 commit comments