Skip to main content

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

gmdh-1.0.3.tar.gz (14.4 MB view details)

Uploaded Source

Built Distributions

gmdh-1.0.3-cp311-cp311-win_amd64.whl (365.2 kB view details)

Uploaded CPython 3.11 Windows x86-64

gmdh-1.0.3-cp311-cp311-manylinux1_x86_64.whl (875.1 kB view details)

Uploaded CPython 3.11

gmdh-1.0.3-cp310-cp310-win_amd64.whl (365.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

gmdh-1.0.3-cp310-cp310-manylinux1_x86_64.whl (875.3 kB view details)

Uploaded CPython 3.10

gmdh-1.0.3-cp39-cp39-win_amd64.whl (361.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

gmdh-1.0.3-cp39-cp39-manylinux1_x86_64.whl (875.2 kB view details)

Uploaded CPython 3.9

gmdh-1.0.3-cp38-cp38-win_amd64.whl (369.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

gmdh-1.0.3-cp38-cp38-manylinux1_x86_64.whl (875.1 kB view details)

Uploaded CPython 3.8

gmdh-1.0.3-cp37-cp37m-win_amd64.whl (365.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

gmdh-1.0.3-cp37-cp37m-manylinux1_x86_64.whl (879.2 kB view details)

Uploaded CPython 3.7m

gmdh-1.0.3-cp36-cp36m-win_amd64.whl (365.4 kB view details)

Uploaded CPython 3.6m Windows x86-64

gmdh-1.0.3-cp36-cp36m-manylinux1_x86_64.whl (879.3 kB view details)

Uploaded CPython 3.6m

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

Hashes for gmdh-1.0.3.tar.gz
Algorithm Hash digest
SHA256 919ff276299fcbda4a74b5b33bd129f2e4d9a0a467e5148202da4dd7b3a41a0b
MD5 ecd64967565b177e12951d25a3d1dced
BLAKE2b-256 029b129650f767c2e389eae4a6e71043724ef0f0bf4fe916b5891c171f0a7cfd

See more details on using hashes here.

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

Hashes for gmdh-1.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 aec19495ff881b97c76e111dda17f5f4e92b1fb0d4201c8336d11acd41f6a449
MD5 9e4967d15cc7e8594745c04b7c0b16f0
BLAKE2b-256 0034f79cc9abe778264a4a7fe4cae9071c8fe4af0bef2a7cb3b962640ace41aa

See more details on using hashes here.

File details

Details for the file gmdh-1.0.3-cp311-cp311-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for gmdh-1.0.3-cp311-cp311-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 73ef6ca5ad4d4e154b697685c7d34d686fe3251097bcf48960f288324b87c93a
MD5 38ab4b6768e901e3cd196aba06c1f854
BLAKE2b-256 39fe0ba43cd0d08f5d7c6c2b841623a9d38df88c37565fb5b7551bbc4c741fda

See more details on using hashes here.

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

Hashes for gmdh-1.0.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cc770c5e9ccc14d9d69f3de574fccaea6768de48c6531343ee223ba7b0324739
MD5 fb4f6369ecc873a4e361c291ad620dca
BLAKE2b-256 c05f0164ef878d8aa6c907e1911434ee8be4f6601c27527429bce608216e2ad1

See more details on using hashes here.

File details

Details for the file gmdh-1.0.3-cp310-cp310-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for gmdh-1.0.3-cp310-cp310-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dcd18dff5bcb2b49af2a8dac6d9ff4f3d50ec073f1e590329496f6ccf9e327e0
MD5 31f71950479012329569e8cc2c333458
BLAKE2b-256 1b6c9898f612565b34549f163805911d72c2ba104d090cc37ec1f8e8c3d71eb5

See more details on using hashes here.

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

Hashes for gmdh-1.0.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bd3b309f059a4a6d4b2c26f5fa210c2a02174a3ff8570cec590233b7ce02c0fe
MD5 c2dadc36943ac759996bf3adf0291fab
BLAKE2b-256 e402760dddf3cce6d27eee359e91452417943f531a63640e4040b8038428107e

See more details on using hashes here.

File details

Details for the file gmdh-1.0.3-cp39-cp39-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for gmdh-1.0.3-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dc90bafa8773f2e2f247d470befcd5173316c9d27e6b32b93219c3cb22ad9ae6
MD5 f5a8a97b6c26534780271fc8c9d6e0ca
BLAKE2b-256 b46d8e57668953d5726a4de78daaa7fd2ec9f509db8e44a6bcd41e69daf6c562

See more details on using hashes here.

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

Hashes for gmdh-1.0.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 87e1c5fb612edb833853a4796ca1a2e36bb92e509fff0c40fb8f9c838ebdc93f
MD5 d7323110b7dff0b9d91a64911f024b89
BLAKE2b-256 969aa44b037048926ffdd770a8572218ce1b85cbfa3fe91538ace47642335b60

See more details on using hashes here.

File details

Details for the file gmdh-1.0.3-cp38-cp38-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for gmdh-1.0.3-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5ec572c4f3a952d8af074f8df4679a841964165492d7e8fd88b268b9d7602bac
MD5 995585219d950a4386314e3a9a3097fc
BLAKE2b-256 2b55d952bc60717cc2cae667c96b6982811855e997bb4bcb0a79f01d847552b8

See more details on using hashes here.

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

Hashes for gmdh-1.0.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a04a0ded1d9c47911185a761dbf18defd36c22ed97f34633ac19c32cdcb5e91c
MD5 9f5e4cac1be744aa6293a07c49fd837c
BLAKE2b-256 0fd5844ec87113463c15150e42137dd0c82638c581a866f81e51f20c2e72a492

See more details on using hashes here.

File details

Details for the file gmdh-1.0.3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for gmdh-1.0.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ff3aecf311d90080ed57c5b62e73799ff275276a42f0fd09242884a75542dee4
MD5 508f62c31e69e38afe14338ddb9c7ead
BLAKE2b-256 6bbbab1a9a797b76c75f62402095ca7d05faadc11d869874e3d37f4c633f6e42

See more details on using hashes here.

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

Hashes for gmdh-1.0.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 afeaa02988ab1a04682a2a218d7b040e0304043042dc0220a725cbf74273d483
MD5 8c6045cdf9ef928f4a3290243295f4bd
BLAKE2b-256 f6b15ea28adc8b33f2edea9e2fbc31e727fa5060183f45ad6ae5cb8390ea00d6

See more details on using hashes here.

File details

Details for the file gmdh-1.0.3-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for gmdh-1.0.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8dcc6b4e16d61db828318046cbc197ba9a227626a1fa5775807b639a85bba60e
MD5 91c55969ea512f8bd353830151cf5dc9
BLAKE2b-256 06bab49cc44507dd4393b44d448e79eca21a108f6bf6c239929761bfd0146b41

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page