JuliaGaussianProcesses / EasyGPs.jl

Easy automatic fitting of JuliaGP models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Easy automatic fitting of JuliaGP models

License:MIT License


Languages

Language:Julia 100.0%