https://github.com/juliagaussianprocesses/easygps.jl
Easy automatic fitting of JuliaGP models
https://github.com/juliagaussianprocesses/easygps.jl
Last synced: 4 months ago
JSON representation
Easy automatic fitting of JuliaGP models
- Host: GitHub
- URL: https://github.com/juliagaussianprocesses/easygps.jl
- Owner: JuliaGaussianProcesses
- License: mit
- Created: 2024-02-06T15:15:25.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-09T14:17:56.000Z (over 2 years ago)
- Last Synced: 2025-02-22T12:44:42.505Z (over 1 year ago)
- Language: Julia
- Homepage:
- Size: 2.21 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EasyGPs
[](https://www.repostatus.org/#wip)
[](https://JuliaGaussianProcesses.github.io/EasyGPs.jl/stable)
[](https://JuliaGaussianProcesses.github.io/EasyGPs.jl/dev)
[](https://github.com/JuliaGaussianProcesses/EasyGPs.jl/actions/workflows/CI.yml)
[](https://codecov.io/gh/JuliaGaussianProcesses/EasyGPs.jl/tree/master)
[](https://github.com/JuliaDiff/BlueStyle)
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):
```julia
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.