GeometricMean¶
Geometric mean score.
The geometric mean is a good indicator of a classifier's performance in the presence of class imbalance because it is independent of the distribution of examples between classes. This implementation computes the geometric mean of class-wise sensitivity (recall).
where \(s_i\) is the sensitivity (recall) of class \(i\) and \(n\) is the number of classes.
Parameters¶
-
cm (river.metrics.confusion.ConfusionMatrix) β defaults to
None
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 = ['cat', 'ant', 'cat', 'cat', 'ant', 'bird', 'bird']
>>> y_pred = ['ant', 'ant', 'cat', 'cat', 'ant', 'cat', 'bird']
>>> metric = metrics.GeometricMean()
>>> for yt, yp in zip(y_true, y_pred):
... metric = metric.update(yt, yp)
>>> metric
GeometricMean: 69.34%
Methods¶
get
Return the current value of the metric.
is_better_than
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
- model (river.base.estimator.Estimator)
References¶
-
Barandela, R. et al. βStrategies for learning in class imbalance problemsβ, Pattern Recognition, 36(3), (2003), pp 849-851. ↩