sklears-gaussian-process

Crates.iosklears-gaussian-process
lib.rssklears-gaussian-process
version0.1.0-beta.1
created_at2025-10-13 13:34:02.20671+00
updated_at2026-01-01 21:34:04.423382+00
descriptionGaussian Process models for regression and classification
homepagehttps://github.com/cool-japan/sklears
repositoryhttps://github.com/cool-japan/sklears
max_upload_size
id1880523
size905,761
KitaSan (cool-japan)

documentation

README

sklears-gaussian-process

Crates.io Documentation License Minimum Rust Version

Latest release: 0.1.0-beta.1 (January 1, 2026). See the workspace release notes for highlights and upgrade guidance.

Overview

sklears-gaussian-process offers Gaussian Process regression and classification tooling with scikit-learn compatible APIs, expanded kernel catalogs, and high-performance Rust implementations.

Key Features

  • Estimators: GaussianProcessRegressor, GaussianProcessClassifier, multi-output variants, and sparse approximations.
  • Kernel Library: RBF, Matern, RationalQuadratic, DotProduct, ExpSineSquared, White, Constant, and custom combinators.
  • Performance: Hierarchical matrix factorizations, GPU-accelerated covariance operations, and stochastic approximations for big data.
  • Uncertainty Quantification: Predictive variance, confidence intervals, and Bayesian optimization primitives.

Quick Start

use sklears_gaussian_process::{GaussianProcessRegressor, kernels::RBF};
use scirs2_core::ndarray::{array, Array1};

let x = array![
    [0.0],
    [0.4],
    [0.8],
    [1.2],
];
let y = Array1::from(vec![0.0, 0.2, -0.1, 0.3]);

let gpr = GaussianProcessRegressor::builder()
    .kernel(RBF::new(1.0))
    .alpha(1e-6)
    .normalize_y(true)
    .random_state(Some(123))
    .build();

let fitted = gpr.fit(&x, &y)?;
let (mean, std) = fitted.predict(&x, true)?;

Status

  • Validated by workspace integration tests; 0.1.0-beta.1 ships with all 11,160 tests passing.
  • Benchmarks show 5–20× faster kernel computations versus CPython implementations.
  • Future milestones (variational inference, GPU sparse GPs) tracked in this crate’s TODO.md.
Commit count: 0

cargo fmt