sklears-isotonic

Crates.iosklears-isotonic
lib.rssklears-isotonic
version0.1.0-beta.1
created_at2025-10-13 15:13:05.398039+00
updated_at2026-01-01 21:37:09.056515+00
descriptionIsotonic regression
homepagehttps://github.com/cool-japan/sklears
repositoryhttps://github.com/cool-japan/sklears
max_upload_size
id1880649
size1,908,102
KitaSan (cool-japan)

documentation

README

sklears-isotonic

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-isotonic delivers isotonic regression utilities that mirror scikit-learn while taking advantage of Rust performance. The crate powers monotonic calibration, pairwise ranking, and constrained curve fitting across the wider sklears ecosystem.

Key Features

  • Isotonic Regression: Fit monotonic functions for regression, probability calibration, and ranking tasks.
  • Sparse + Dense Support: Optimized for both dense ndarray inputs and sparse CSR matrices.
  • GPU-Ready Kernels: Optional CUDA/WebGPU acceleration for large calibration workloads.
  • Pipeline Integration: Seamlessly composes with sklears preprocessing, model selection, and calibration APIs.

Quick Start

use sklears_isotonic::IsotonicRegression;
use scirs2_core::ndarray::{array, Array1};

let x = array![0.0, 1.0, 2.0, 3.0, 4.0];
let y = Array1::from(vec![0.1, 0.4, 0.3, 0.8, 0.9]);

let model = IsotonicRegression::builder()
    .increasing(true)
    .y_min(0.0)
    .y_max(1.0)
    .build();

let fitted = model.fit(&x, &y)?;
let predictions = fitted.predict(&x)?;

Status

  • Validated via the 10,013-passing workspace test suite included with 0.1.0-beta.1.
  • API surface aligns with scikit-learn 1.5 isotonic regression modules.
  • Detailed roadmap items live in TODO.md within this crate.
Commit count: 0

cargo fmt