CrossEntropy¶
Multiclass generalization of the logarithmic loss.
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 = [0, 1, 2, 2]
y_pred = [
{0: 0.29450637, 1: 0.34216758, 2: 0.36332605},
{0: 0.21290077, 1: 0.32728332, 2: 0.45981591},
{0: 0.42860913, 1: 0.33380113, 2: 0.23758974},
{0: 0.44941979, 1: 0.32962558, 2: 0.22095463}
]
metric = metrics.CrossEntropy()
for yt, yp in zip(y_true, y_pred):
metric = metric.update(yt, yp)
print(metric.get())
1.222454
1.169691
1.258864
1.321597
metric
CrossEntropy: 1.321598
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
- model