Skip to main content

Python library for Gaussian Process Regression.

Project description

A python library for Gaussian Process Regression.

Setup GPlib

  • Create and activate virtualenv (for python2) or venv (for python3)

# for python3
python3 -m venv .env
# or for python2
python2 -m virtualenv .env

source .env/bin/activate
  • Upgrade pip

python -m pip install --upgrade pip
  • Install GPlib package

python -m pip install gplib
  • Matplotlib requires to install a backend to work interactively (See https://matplotlib.org/faq/virtualenv_faq.html). The easiest solution is to install the Tk framework, which can be found as python-tk (or python3-tk) on certain Linux distributions.

Use GPlib

  • Import GPlib to use it in your python script.

import gplib
  • Initialize the GP with the desired modules.

gp = gplib.GP(
  mean_function=gplib.mea.Fixed(),
  covariance_function=gplib.cov.SquaredExponential(),
  likelihood_function=gplib.lik.Gaussian(),
  inference_method=gplib.inf.ExactGaussian()
)
  • Plot the GP.

gplib.plot.gp_1d(gp, n_samples=10)
  • Generate some random data.

import numpy as np
data = {
  'X': np.arange(3, 8, 1.0)[:, None],
  'Y': np.random.uniform(0, 2, 5)[:, None]
}
  • Get the posterior GP given the data.

posterior_gp = gp.get_posterior(data)
  • Finally plot the posterior GP.

gplib.plot.gp_1d(posterior_gp, data, n_samples=10)
  • There are more examples in examples/ directory. Check them out!

Develop GPlib

  • Download the repository using git

git clone https://gitlab.com/ibaidev/gplib.git
cd gplib
git config user.email 'MAIL'
git config user.name 'NAME'
git config credential.helper 'cache --timeout=300'
git config push.default simple
  • Update API documentation

source ./.env/bin/activate
pip install Sphinx
cd docs/
sphinx-apidoc -f -o ./ ../gplib

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

gplib-0.13.2.tar.gz (33.4 kB view details)

Uploaded Source

Built Distribution

gplib-0.13.2-py2.py3-none-any.whl (76.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file gplib-0.13.2.tar.gz.

File metadata

  • Download URL: gplib-0.13.2.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for gplib-0.13.2.tar.gz
Algorithm Hash digest
SHA256 7f5802b9ab51409cca97cce6c810ade14aadb5f45b05dea3ac5f56bcc03841de
MD5 7b8935192e4a4b357da33b1976d26bcc
BLAKE2b-256 3f4a712801586168dae37b10e37a3e0bdbbd800b330ea52d75f1208782503e78

See more details on using hashes here.

File details

Details for the file gplib-0.13.2-py2.py3-none-any.whl.

File metadata

  • Download URL: gplib-0.13.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 76.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for gplib-0.13.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6fbbb17c8665203c96e9e79251b085475b3cf5391cc1ec1dd29dfb37ed7f3aa5
MD5 8e0c52915592c9fed982e58e6d51c3d8
BLAKE2b-256 b44e807e3a6f7c515e98c4e1c2c158887947edaddcabad81f629da118a76681b

See more details on using hashes here.

Supported by

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