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.
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.