Skip to content

BalancedAccuracy

Balanced accuracy.

Balanced accuracy is the average of recall obtained on each class. It is used to deal with imbalanced datasets in binary and multi-class classification problems.

Parameters

  • cm

    Typeconfusion.ConfusionMatrix | None

    DefaultNone

    This parameter allows sharing the same confusion matrix between multiple metrics. Sharing a confusion matrix reduces the amount of storage and computation time.

Attributes

  • bigger_is_better

    Indicate if a high value is better than a low one or not.

  • requires_labels

    Indicates if labels are required, rather than probabilities.

  • works_with_weights

    Indicate whether the model takes into consideration the effect of sample weights

Examples

from river import metrics
y_true = [True, False, True, True, False, True]
y_pred = [True, False, True, True, True, False]

metric = metrics.BalancedAccuracy()
for yt, yp in zip(y_true, y_pred):
    metric = metric.update(yt, yp)

metric
BalancedAccuracy: 62.50%

y_true = [0, 1, 0, 0, 1, 0]
y_pred = [0, 1, 0, 0, 0, 1]
metric = metrics.BalancedAccuracy()
for yt, yp in zip(y_true, y_pred):
    metric = metric.update(yt, yp)

metric
BalancedAccuracy: 62.50%

Methods

get

Return the current value of the metric.

is_better_than

Indicate if the current metric is better than another one.

Parameters

  • other

revert

Revert the metric.

Parameters

  • y_true
  • y_pred
  • sample_weight — defaults to 1.0

update

Update the metric.

Parameters

  • y_true
  • y_pred
  • sample_weight — defaults to 1.0

works_with

Indicates whether or not a metric can work with a given model.

Parameters