Python library for Gaussian Process Regression.


Keywords
Gaussian, Process
License
GPL-3.0
Install
pip install gplib==0.16.5

Documentation

GPlib

A python library for Gaussian Process Regression.

Setup GPlib

  • The following packages must be installed before installing GPlib
# for ptyhon3
apt-get install python3-tk
# or for python2
apt-get install python-tk
  • Create and activate virtualenv (for python2) or venv (for ptyhon3)
# for ptyhon3
python3 -m venv --system-site-packages .env
# or for python2
virtualenv --system-site-packages .env

source .env/bin/activate
  • Upgrade pip
# for ptyhon3
python3 -m pip install --upgrade pip
# or for python2
python -m pip install --upgrade pip
  • Install GPlib package
python -m pip install gplib

Use GPlib

  • 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]
}
  • 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.Constant(data),
  covariance_function=gplib.cov.SquaredExponential(data, is_ard=False),
  likelihood_function=gplib.lik.Gaussian(),
  inference_method=gplib.inf.ExactGaussian()
)
  • Plot the GP and the data.
gplib.plot.gp_1d(gp, data, n_samples=10)
  • 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