README.md
Project description
Group Method of Data Handling (GMDH) - the family of deep learning algorithms.
GMDH is a Python module that implements algorithms for the group method of data handling.
Read the Python module documentation.
About GMDH
GMDH is a machine learning Python module (API) based on C++ library for fast calculations. It realized the Group Method of Data Handling. It is a set of several algorithms for different machine learning tasks solution.
It was developed with a focus on providing fast experimentations and studing.
The gmdh module implements 4 popular varieties of algorithms from the family of GMDH algorithms (COMBI, MULTI, MIA, RIA), designed to solve problems of data approximation and time series prediction. The library also includes auxiliary functionality for basic data preprocessing and saving already trained models.
Short theory
Group Method of Data Handling was applied in a great variety of areas for deep learning and knowledge discovery, forecasting and data mining, optimization and pattern recognition. Inductive GMDH algorithms give possibility to find automatically interrelations in data, to select an optimal structure of model or network and to increase the accuracy of existing algorithms.
You can read the detailed theory at gmdh.net.
Installation
To install gmdh package you need run command:
pip install gmdh
Using:
import gmdh
First contact with gmdh
Let's consider the simplest example of using the basic combinatorial COMBI algorithm from the gmdh module.
To begin with, we import the Combi model and the split_data function from the module to split the source data into training and test samples:
from gmdh import Combi, split_data
Let's create a simple dataset in which the target values of the matrix y
will simply be the sum of the corresponding pair of values x1
and x2
of the matrix X
:
X = [[1, 2], [3, 2], [7, 0], [5, 5], [1, 4], [2, 6]]
y = [3, 5, 7, 10, 5, 8]
Let's divide our data into training and test samples:
x_train, x_test, y_train, y_test = split_data(X, y)
# print result arrays
print('x_train:\n', x_train)
print('x_test:\n', x_test)
print('\ny_train:\n', y_train)
print('y_test:\n', y_test)
Output:
x_train:
[[1. 2.]
[3. 2.]
[7. 0.]
[5. 5.]
[1. 4.]]
x_test:
[[2. 6.]]
y_train:
[ 3. 5. 7. 10. 5.]
y_test:
[8.]
Let's create a Combi
model, train it using training data by the fit
method and then predict the result for the test sample using the predict
method:
model = Combi()
model.fit(x_train, y_train)
y_predicted = model.predict(x_test)
# compare predicted and real value
print('y_predicted: ', y_predicted)
print('y_test: ', y_test)
Output:
y_predicted: [8.]
y_test: [8.]
The predicted result coincided with the real value! Now we will output a polynomial that displays the pattern found by the model:
model.get_best_polynomial()
Output:
'y = x1 + x2'
For more in-depth tutorials about gmdh you can check our online GMDH_book.
Documentation
Read the C++ library documentation.
Read the Python module documentation.
License
This project is licensed under the Apache 2.0 License.
Release notes
This is a bachelor's diploma project. It was written by students of the Bauman Moscow State Technical University (BMSTU). The last version 1.0.3 is released in PyPI. This version is the final one for the graduation project, but the project itself and the repository can continue to grow and improve. We will be glad to new ideas and suggestions.
All the release branches can be found on GitHub.
All the release binaries can be found on PyPI.
Opening an issue and a PR
You can also post bug reports and feature requests in GitHub issues. We welcome contributions!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file gmdh-1.0.3.tar.gz
.
File metadata
- Download URL: gmdh-1.0.3.tar.gz
- Upload date:
- Size: 14.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 919ff276299fcbda4a74b5b33bd129f2e4d9a0a467e5148202da4dd7b3a41a0b |
|
MD5 | ecd64967565b177e12951d25a3d1dced |
|
BLAKE2b-256 | 029b129650f767c2e389eae4a6e71043724ef0f0bf4fe916b5891c171f0a7cfd |
File details
Details for the file gmdh-1.0.3-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 365.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aec19495ff881b97c76e111dda17f5f4e92b1fb0d4201c8336d11acd41f6a449 |
|
MD5 | 9e4967d15cc7e8594745c04b7c0b16f0 |
|
BLAKE2b-256 | 0034f79cc9abe778264a4a7fe4cae9071c8fe4af0bef2a7cb3b962640ace41aa |
File details
Details for the file gmdh-1.0.3-cp311-cp311-manylinux1_x86_64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp311-cp311-manylinux1_x86_64.whl
- Upload date:
- Size: 875.1 kB
- Tags: CPython 3.11
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73ef6ca5ad4d4e154b697685c7d34d686fe3251097bcf48960f288324b87c93a |
|
MD5 | 38ab4b6768e901e3cd196aba06c1f854 |
|
BLAKE2b-256 | 39fe0ba43cd0d08f5d7c6c2b841623a9d38df88c37565fb5b7551bbc4c741fda |
File details
Details for the file gmdh-1.0.3-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 365.0 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc770c5e9ccc14d9d69f3de574fccaea6768de48c6531343ee223ba7b0324739 |
|
MD5 | fb4f6369ecc873a4e361c291ad620dca |
|
BLAKE2b-256 | c05f0164ef878d8aa6c907e1911434ee8be4f6601c27527429bce608216e2ad1 |
File details
Details for the file gmdh-1.0.3-cp310-cp310-manylinux1_x86_64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp310-cp310-manylinux1_x86_64.whl
- Upload date:
- Size: 875.3 kB
- Tags: CPython 3.10
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcd18dff5bcb2b49af2a8dac6d9ff4f3d50ec073f1e590329496f6ccf9e327e0 |
|
MD5 | 31f71950479012329569e8cc2c333458 |
|
BLAKE2b-256 | 1b6c9898f612565b34549f163805911d72c2ba104d090cc37ec1f8e8c3d71eb5 |
File details
Details for the file gmdh-1.0.3-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 361.0 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd3b309f059a4a6d4b2c26f5fa210c2a02174a3ff8570cec590233b7ce02c0fe |
|
MD5 | c2dadc36943ac759996bf3adf0291fab |
|
BLAKE2b-256 | e402760dddf3cce6d27eee359e91452417943f531a63640e4040b8038428107e |
File details
Details for the file gmdh-1.0.3-cp39-cp39-manylinux1_x86_64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp39-cp39-manylinux1_x86_64.whl
- Upload date:
- Size: 875.2 kB
- Tags: CPython 3.9
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc90bafa8773f2e2f247d470befcd5173316c9d27e6b32b93219c3cb22ad9ae6 |
|
MD5 | f5a8a97b6c26534780271fc8c9d6e0ca |
|
BLAKE2b-256 | b46d8e57668953d5726a4de78daaa7fd2ec9f509db8e44a6bcd41e69daf6c562 |
File details
Details for the file gmdh-1.0.3-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 369.4 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87e1c5fb612edb833853a4796ca1a2e36bb92e509fff0c40fb8f9c838ebdc93f |
|
MD5 | d7323110b7dff0b9d91a64911f024b89 |
|
BLAKE2b-256 | 969aa44b037048926ffdd770a8572218ce1b85cbfa3fe91538ace47642335b60 |
File details
Details for the file gmdh-1.0.3-cp38-cp38-manylinux1_x86_64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp38-cp38-manylinux1_x86_64.whl
- Upload date:
- Size: 875.1 kB
- Tags: CPython 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ec572c4f3a952d8af074f8df4679a841964165492d7e8fd88b268b9d7602bac |
|
MD5 | 995585219d950a4386314e3a9a3097fc |
|
BLAKE2b-256 | 2b55d952bc60717cc2cae667c96b6982811855e997bb4bcb0a79f01d847552b8 |
File details
Details for the file gmdh-1.0.3-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 365.4 kB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a04a0ded1d9c47911185a761dbf18defd36c22ed97f34633ac19c32cdcb5e91c |
|
MD5 | 9f5e4cac1be744aa6293a07c49fd837c |
|
BLAKE2b-256 | 0fd5844ec87113463c15150e42137dd0c82638c581a866f81e51f20c2e72a492 |
File details
Details for the file gmdh-1.0.3-cp37-cp37m-manylinux1_x86_64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp37-cp37m-manylinux1_x86_64.whl
- Upload date:
- Size: 879.2 kB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff3aecf311d90080ed57c5b62e73799ff275276a42f0fd09242884a75542dee4 |
|
MD5 | 508f62c31e69e38afe14338ddb9c7ead |
|
BLAKE2b-256 | 6bbbab1a9a797b76c75f62402095ca7d05faadc11d869874e3d37f4c633f6e42 |
File details
Details for the file gmdh-1.0.3-cp36-cp36m-win_amd64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp36-cp36m-win_amd64.whl
- Upload date:
- Size: 365.4 kB
- Tags: CPython 3.6m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | afeaa02988ab1a04682a2a218d7b040e0304043042dc0220a725cbf74273d483 |
|
MD5 | 8c6045cdf9ef928f4a3290243295f4bd |
|
BLAKE2b-256 | f6b15ea28adc8b33f2edea9e2fbc31e727fa5060183f45ad6ae5cb8390ea00d6 |
File details
Details for the file gmdh-1.0.3-cp36-cp36m-manylinux1_x86_64.whl
.
File metadata
- Download URL: gmdh-1.0.3-cp36-cp36m-manylinux1_x86_64.whl
- Upload date:
- Size: 879.3 kB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dcc6b4e16d61db828318046cbc197ba9a227626a1fa5775807b639a85bba60e |
|
MD5 | 91c55969ea512f8bd353830151cf5dc9 |
|
BLAKE2b-256 | 06bab49cc44507dd4393b44d448e79eca21a108f6bf6c239929761bfd0146b41 |