Skip to main content

Lightweight Gaussian Process regression library

Project description

gplite

A lightweight Gaussian Process regression library built on NumPy and SciPy, originally designed for Δ-Machine Learning.

Features

  • Gaussian Process regression with automatic hyperparameter optimization
  • Multiple kernels: RBF, Matérn, Periodic, Constant (combinable via + and *)
  • Active learning with multiple selection strategies (uncertainty, maximum absolute error, expected improvement)
  • Model saving and loading with pickle
  • Anisotropic kernels (support for per-dimension hyperparameters)
  • String export for integration with external tools

Installation

pip install gplite

or for optional dependencies to run the example files

pip install "gplite[examples]"

Quick Start

The core workflow of gplite is designed to be highly intuitive. More detailed, end-to-end examples can be found in the examples directory.

1. Standard Regression & Composable Kernels

import numpy as np
from gplite import GaussianProcess, RBFKernel, PeriodicKernel

X_train, y_train = ... # load your data

# easily combine kernels for complex data
kernel = (
    RBFKernel(length_scale=2.0) + 
    PeriodicKernel(length_scale=1.0, period=2*np.pi)
)

# fit your model and use it for predictions
gp = GaussianProcess(kernel)
gp.fit(X_train, y_train, optimize=True)

y_mean, y_std = gp.predict(X_test, return_std=True)

2. Automated Active Learning

from gplite import ActiveLearner

learner = ActiveLearner(kernel=kernel, x_full=X_full, y_full=y_full)

# automatically train the model where it is most uncertain
learner.learn(
    learning_strategy="uncertainty", 
    rmse_threshold=0.1, 
    max_points=50
)

y_pred = learner.gp.predict(X_test)

Modules

Requirements

  • Python >= 3.10
  • NumPy >= 2.2.6
  • SciPy >= 1.15.3

License

GPLv3

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

gplite-3.1.3.tar.gz (75.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gplite-3.1.3-py3-none-any.whl (92.1 kB view details)

Uploaded Python 3

File details

Details for the file gplite-3.1.3.tar.gz.

File metadata

  • Download URL: gplite-3.1.3.tar.gz
  • Upload date:
  • Size: 75.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gplite-3.1.3.tar.gz
Algorithm Hash digest
SHA256 18951ad08b22b4680252d3da34d0d8f5e664aefabf621f74d275729c540b6db8
MD5 d5665ee6a76a3c5d2ebe9b6119797c57
BLAKE2b-256 b9c87bed6542b74b2274108eb27a422aac9263aeee132e5bfb634ccab5853e1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gplite-3.1.3.tar.gz:

Publisher: publish.yaml on soconnor16/gplite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gplite-3.1.3-py3-none-any.whl.

File metadata

  • Download URL: gplite-3.1.3-py3-none-any.whl
  • Upload date:
  • Size: 92.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gplite-3.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e8387e0e1d9fbad867e4eaa56cd3d9d7aa45f69e3252f35fd8739b2b51040338
MD5 890536eb37f578e49093b147adf95f17
BLAKE2b-256 7452646bd33588027f54a485fdc19b06f46c20480e3b705cda14f6a82f30eab3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gplite-3.1.3-py3-none-any.whl:

Publisher: publish.yaml on soconnor16/gplite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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