Skip to content

ConfusionMatrix

Confusion Matrix for binary and multi-class classification.

Parameters

  • classes

    DefaultNone

    The initial set of classes. This is optional and serves only for displaying purposes.

Attributes

  • classes

  • requires_labels

  • total_false_negatives

  • total_false_positives

  • total_true_negatives

  • total_true_positives

Examples

from river import metrics

y_true = ['cat', 'ant', 'cat', 'cat', 'ant', 'bird']
y_pred = ['ant', 'ant', 'cat', 'cat', 'ant', 'cat']

cm = metrics.ConfusionMatrix()

for yt, yp in zip(y_true, y_pred):
    cm = cm.update(yt, yp)

cm
       ant  bird   cat
 ant     2     0     0
bird     0     0     1
 cat     1     0     2

cm['bird']['cat']
1.0

Methods

false_negatives
false_positives
revert
support
true_negatives
true_positives
update
works_with

Notes

This confusion matrix is a 2D matrix of shape (n_classes, n_classes), corresponding to a single-target (binary and multi-class) classification task.

Each row represents true (actual) class-labels, while each column corresponds to the predicted class-labels. For example, an entry in position [1, 2] means that the true class-label is 1, and the predicted class-label is 2 (incorrect prediction).

This structure is used to keep updated statistics about a single-output classifier's performance and to compute multiple evaluation metrics.