Skip to content

Latest commit

 

History

History
34 lines (26 loc) · 1.9 KB

README.md

File metadata and controls

34 lines (26 loc) · 1.9 KB

EasyGPs

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. Docs: stable Docs: dev CI Codecov Code Style: Blue

EasyGPs.jl is a package that defines a high-level API for the JuliaGaussianProcesses ecosystem. It handles model parameterization and training, allowing users to focus on the data and results without being distracted by tedious and repetitive tasks.

Note

This is an experimental package and may undergo breaking changes.

Usage

In order to fit a GP, define one according to the familiar AbstractGP.jl interface and let EasyGPs.jl handle the rest. The entry point for this is EasyGPs.fit (not exported):

using EasyGPs

kernel = 1.0 * with_lengthscale(SEKernel(), 1.0)
gp = with_gaussian_noise(GP(0.0, kernel), 0.1)
x = 0:0.1:10
y = sin.(x) .+ 0.1 .* randn(length(x))
fitted_gp = EasyGPs.fit(gp, x, y)

Under the hood, this will recognize the parameters (mean, variance, lengthscale) of the GP you defined and automatically construct a parameterized model. It will then choose a cost function, optimizer, and AD backend, and determine the optimal parameters.