[][src]Module smartcore::metrics

Functions for assessing prediction error.

Metric functions

One way to build machine learning models is to use a constructive feedback loop through model evaluation. In a feedback loop you build your model first, then you get feedback from metrics, improve it and repeat until your model achieve desirable performance. Evaluation metrics helps to explain the performance of a model and compare models based on an objective criterion.

Choosing the right metric is crucial while evaluating machine learning models. In SmartCore you will find metrics for these classes of ML models:

Example:

use smartcore::linalg::naive::dense_matrix::*;
use smartcore::linear::logistic_regression::LogisticRegression;
use smartcore::metrics::*;

let x = DenseMatrix::from_2d_array(&[
            &[5.1, 3.5, 1.4, 0.2],
            &[4.9, 3.0, 1.4, 0.2],
            &[4.7, 3.2, 1.3, 0.2],
            &[4.6, 3.1, 1.5, 0.2],
            &[5.0, 3.6, 1.4, 0.2],
            &[5.4, 3.9, 1.7, 0.4],
            &[4.6, 3.4, 1.4, 0.3],
            &[5.0, 3.4, 1.5, 0.2],
            &[4.4, 2.9, 1.4, 0.2],
            &[4.9, 3.1, 1.5, 0.1],
            &[7.0, 3.2, 4.7, 1.4],
            &[6.4, 3.2, 4.5, 1.5],
            &[6.9, 3.1, 4.9, 1.5],
            &[5.5, 2.3, 4.0, 1.3],
            &[6.5, 2.8, 4.6, 1.5],
            &[5.7, 2.8, 4.5, 1.3],
            &[6.3, 3.3, 4.7, 1.6],
            &[4.9, 2.4, 3.3, 1.0],
            &[6.6, 2.9, 4.6, 1.3],
            &[5.2, 2.7, 3.9, 1.4],
  ]);
let y: Vec<f64> = vec![
            0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
  ];

let lr = LogisticRegression::fit(&x, &y, Default::default()).unwrap();

let y_hat = lr.predict(&x).unwrap();

let acc = ClassificationMetrics::accuracy().get_score(&y, &y_hat);
// or
let acc = accuracy(&y, &y_hat);

Modules

accuracy

Accuracy score.

auc

Computes Area Under the Receiver Operating Characteristic Curve (ROC AUC) from prediction scores.

cluster_hcv

Compute the homogeneity, completeness and V-Measure scores.

f1

F1 score, also known as balanced F-score or F-measure.

mean_absolute_error

Mean absolute error regression loss.

mean_squared_error

Mean squared error regression loss.

precision

Computes the precision.

r2

Coefficient of determination (R2). Coefficient of Determination (R2)

recall

Computes the recall.

Structs

ClassificationMetrics

Use these metrics to compare classification models.

ClusterMetrics

Cluster metrics.

RegressionMetrics

Metrics for regression models.

Functions

accuracy

Function that calculated accuracy score, see accuracy.

completeness_score

Completeness metric of a cluster labeling given a ground truth (range is between 0.0 and 1.0).

f1

Computes F1 score, see F1.

homogeneity_score

Homogeneity metric of a cluster labeling given a ground truth (range is between 0.0 and 1.0). A cluster result satisfies homogeneity if all of its clusters contain only data points which are members of a single class.

mean_absolute_error

Computes mean absolute error, see mean absolute error.

mean_squared_error

Computes mean squared error, see mean squared error.

precision

Calculated precision score, see precision.

r2

Computes R2 score, see R2.

recall

Calculated recall score, see recall

roc_auc_score

AUC score, see AUC.

v_measure_score

The harmonic mean between homogeneity and completeness.