CrossEntropy¶

Cross entropy loss.

This is a generalization of logistic loss to multiple classes.

Parameters¶

• class_weight

Typedict[base.typing.ClfTarget, float] | None

DefaultNone

A dictionary that indicates what weight to associate with each class.

Examples¶

from river import optim

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}
]

loss = optim.losses.CrossEntropy()

for yt, yp in zip(y_true, y_pred):
print(loss(yt, yp))

1.222454
1.116929
1.437209
1.509797


for yt, yp in zip(y_true, y_pred):

{0: -0.70549363, 1: 0.34216758, 2: 0.36332605}
{0: 0.21290077, 1: -0.67271668, 2: 0.45981591}
{0: 0.42860913, 1: 0.33380113, 2: -0.76241026}
{0: 0.44941979, 1: 0.32962558, 2: -0.77904537}


Methods¶

call

Returns the loss.

Parameters

• y_true
• y_pred

Returns

The loss(es).

Return the gradient with respect to y_pred.

Parameters

• y_true
• y_pred

Returns

mean_func

Mean function.

This is the inverse of the link function. Typically, a loss function takes as input the raw output of a model. In the case of classification, the raw output would be logits. The mean function can be used to convert the raw output into a value that makes sense to the user, such as a probability.

Parameters

• y_pred

Returns