zero_one_loss#
- sklearn.metrics.zero_one_loss(y_true, y_pred, *, normalize=True, sample_weight=None)[source]#
Zero-one classification loss.
If normalize is
True
, return the fraction of misclassifications (float), else it returns the number of misclassifications (int). The best performance is 0.Read more in the User Guide.
- Parameters:
- y_true1d array-like, or label indicator array / sparse matrix
Ground truth (correct) labels.
- y_pred1d array-like, or label indicator array / sparse matrix
Predicted labels, as returned by a classifier.
- normalizebool, default=True
If
False
, return the number of misclassifications. Otherwise, return the fraction of misclassifications.- sample_weightarray-like of shape (n_samples,), default=None
Sample weights.
- Returns:
- lossfloat or int,
If
normalize == True
, return the fraction of misclassifications (float), else it returns the number of misclassifications (int).
See also
accuracy_score
Compute the accuracy score. By default, the function will return the fraction of correct predictions divided by the total number of predictions.
hamming_loss
Compute the average Hamming loss or Hamming distance between two sets of samples.
jaccard_score
Compute the Jaccard similarity coefficient score.
Notes
In multilabel classification, the zero_one_loss function corresponds to the subset zero-one loss: for each sample, the entire set of labels must be correctly predicted, otherwise the loss for that sample is equal to one.
Examples
>>> from sklearn.metrics import zero_one_loss >>> y_pred = [1, 2, 3, 4] >>> y_true = [2, 2, 3, 4] >>> zero_one_loss(y_true, y_pred) 0.25 >>> zero_one_loss(y_true, y_pred, normalize=False) 1.0
In the multilabel case with binary label indicators:
>>> import numpy as np >>> zero_one_loss(np.array([[0, 1], [1, 1]]), np.ones((2, 2))) 0.5