sklears-multioutput

Crates.iosklears-multioutput
lib.rssklears-multioutput
version0.1.0-beta.1
created_at2025-10-13 16:32:51.451509+00
updated_at2026-01-01 21:40:44.871089+00
descriptionMulti-output regression and classification
homepagehttps://github.com/cool-japan/sklears
repositoryhttps://github.com/cool-japan/sklears
max_upload_size
id1880758
size1,697,906
KitaSan (cool-japan)

documentation

README

sklears-multioutput

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-multioutput implements multi-output regression and classification wrappers that allow any estimator to generalize to multi-label and multi-output settings, mirroring scikit-learn’s multioutput module.

Key Features

  • Wrappers: MultiOutputRegressor, MultiOutputClassifier, ClassifierChain, RegressorChain.
  • Parallelism: Multi-threaded fitting of per-target estimators with shared caching.
  • Integration: Works with pipelines, model selection, and calibration components out of the box.
  • Advanced Modes: Supports probabilistic chaining, custom meta-estimators, and GPU-enabled base learners.

Quick Start

use sklears_multioutput::MultiOutputRegressor;
use sklears_linear::Ridge;

let base_estimator = Ridge::builder()
    .alpha(1.0)
    .fit_intercept(true)
    .build();

let wrapper = MultiOutputRegressor::new(base_estimator);
let fitted = wrapper.fit(&x_train, &y_train)?;
let predictions = fitted.predict(&x_test)?;

Status

  • Validated by the overall 11,292 passing workspace tests for 0.1.0-beta.1.
  • Ensures full parity with scikit-learn’s multi-output utilities while leveraging Rust’s performance.
  • Future enhancements (asynchronous chaining, probabilistic calibration) tracked in TODO.md.
Commit count: 0

cargo fmt