Compute the zero_one_loss metric — provided by scikit-learn. Use when the user has predictions and ground-truth and needs to compute zero_one_loss, or asks how to score with zero_one_loss.
Installs into .claude/skills of the current project.
Are you the author of Zero One Loss?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-zero-one-loss)
---
name: zero-one-loss
description: Compute the zero_one_loss metric — provided by scikit-learn. Use when the user has predictions and ground-truth and needs to compute zero_one_loss, or asks how to score with zero_one_loss.
metadata:
skill_kind: metric
source_lib: scikit-learn
import_path: sklearn.metrics.zero_one_loss
source: library_introspection
---
# zero-one-loss
> Metric `zero_one_loss` from `scikit-learn` (sklearn.metrics.zero_one_loss)
## When to invoke this skill
The user has predictions + ground truth and asks to evaluate with zero_one_loss, or
mentions `sklearn.metrics.zero_one_loss` directly, or wants the standard scikit-learn implementation.
## Reference signature
```python
from sklearn.metrics import zero_one_loss
# zero_one_loss(y_true, y_pred, *, normalize=True, sample_weight=None)
```
## Library docstring
```
Zero-one classification loss.
If normalize is ``True``, returns the fraction of misclassifications, else returns
the number of misclassifications. The best performance is 0.
Read more in the :ref:`User Guide <zero_one_loss>`.
Parameters
----------
y_true : 1d array-like, or label indicator array / sparse matrix
Ground truth (correct) labels. Sparse matrix is only supported when
labels are of :term:`multilabel` type.
y_pred : 1d array-like, or label indicator array / sparse matrix
Predicted labels, as returned by a classifier. Sparse matrix is only
supported when labels are of :term:`multilabel` type.
normalize : bool, default=True
If ``False``, return the number of misclassifications.
Otherwise, return the fraction of misclassifications.
sample_weight : array-like of shape (n_samples,), default=None
Sample weights.
Returns
-------
loss : float
If ``normalize == True``, returns the fraction of misclassifications, else
returns the number of misclassifications.
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
```
## Quick recipe
```python
import sklearn.metrics as _m
score = _m.zero_one_loss(y_true, y_pred)
```
## Don'ts
- Don't reimplement when the library version handles edge cases (NaN, ties, empty inputs) better than a hand-rolled formula.
- Always check the library version's argument order — sklearn is `(y_true, y_pred)` while torchmetrics is `(preds, target)`.