Crate scirs2_metrics

Source
Expand description

Machine Learning evaluation metrics module for SciRS2

This module provides functions for evaluating machine learning models including classification, regression, and clustering metrics, as well as model evaluation utilities like cross-validation and train-test split.

§Classification Metrics

Classification metrics evaluate the performance of classification models:

use ndarray::array;
use scirs2_metrics::classification::{accuracy_score, precision_score, f1_score};

let y_true = array![0, 1, 2, 0, 1, 2];
let y_pred = array![0, 2, 1, 0, 0, 2];

let accuracy = accuracy_score(&y_true, &y_pred).unwrap();
let precision = precision_score(&y_true, &y_pred, 1).unwrap();
let f1 = f1_score(&y_true, &y_pred, 1).unwrap();

§Regression Metrics

Regression metrics evaluate the performance of regression models:

use ndarray::array;
use scirs2_metrics::regression::{mean_squared_error, r2_score};

let y_true = array![3.0, -0.5, 2.0, 7.0];
let y_pred = array![2.5, 0.0, 2.0, 8.0];

let mse = mean_squared_error(&y_true, &y_pred).unwrap();
let r2 = r2_score(&y_true, &y_pred).unwrap();

§Clustering Metrics

Clustering metrics evaluate the performance of clustering algorithms:

use ndarray::{array, Array2};
use scirs2_metrics::clustering::silhouette_score;

// Create a small dataset with 2 clusters
let X = Array2::from_shape_vec((6, 2), vec![
    1.0, 2.0,
    1.5, 1.8,
    1.2, 2.2,
    5.0, 6.0,
    5.2, 5.8,
    5.5, 6.2,
]).unwrap();

let labels = array![0, 0, 0, 1, 1, 1];

let score = silhouette_score(&X, &labels, "euclidean").unwrap();

§Model Evaluation Utilities

Utilities for model evaluation like cross-validation:

use ndarray::{Array, Ix1};
use scirs2_metrics::evaluation::train_test_split;

let x = Array::<f64, _>::linspace(0., 9., 10).into_shape(Ix1(10)).unwrap();
let y = &x * 2.;

let (train_arrays, test_arrays) = train_test_split(&[&x, &y], 0.3, Some(42)).unwrap();

Modules§

classification
Classification metrics module
clustering
This module provides functions for evaluating clustering algorithms, including silhouette score, Davies-Bouldin index, and Calinski-Harabasz index.
error
Error types for the metrics module
evaluation
Model evaluation utilities
regression
Regression metrics module