> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# confusion_matrix()

export const GitHubLink = ({url, compact = false}) => <a href={url} target="_blank" rel="noopener noreferrer" className={compact ? "source-link" : "github-source-link"}>
    {compact ? "View source" : <>
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
    </svg>
    GitHub source
      </>}
  </a>;

<GitHubLink compact url="https://github.com/wandb/wandb/blob/main/wandb/plot/confusion_matrix.py#L16" />

<h2 id="function-wandbplotconfusion_matrix">
  <Badge color="blue" size="lg" shape="rounded">fonction</Badge> wandb.plot.confusion\_matrix()
</h2>

Génère une matrice de confusion à partir d’une séquence de probabilités ou de prédictions.

```python theme={"system"}
probs: 'Sequence[Sequence[float]] | None' = None,
y_true: 'Sequence[T] | None' = None,
preds: 'Sequence[T] | None' = None,
class_names: 'Sequence[str] | None' = None,
title: 'str' = 'Confusion Matrix Curve',
split_table: 'bool' = False
```

<h2 id="args">
  Arguments
</h2>

<ResponseField name="probs" type="Sequence[Sequence[float]] | None">
  Séquence de probabilités prédites pour chaque classe. La séquence doit être de forme (N, K), où N est le nombre d’échantillons et K le nombre de classes. Si ce paramètre est fourni, `preds` ne doit pas l’être.
</ResponseField>

<ResponseField name="y_true" type="Sequence[T] | None">
  Séquence d’étiquettes réelles.
</ResponseField>

<ResponseField name="preds" type="Sequence[T] | None">
  Séquence d’étiquettes de classe prédites. Si ce paramètre est fourni, `probs` ne doit pas l’être.
</ResponseField>

<ResponseField name="class_names" type="Sequence[str] | None">
  Séquence de noms de classes. Si ce paramètre n’est pas fourni, les noms de classes seront « Class\_1 », « Class\_2 », etc.
</ResponseField>

<ResponseField name="title" type="str">
  Titre du graphique de matrice de confusion.
</ResponseField>

<ResponseField name="split_table" type="bool">
  Indique si le tableau doit être placé dans une section distincte de l’interface W\&B. Si la valeur est `True`, le tableau s’affiche dans une section nommée « Custom Chart Tables ». Par défaut : `False`.
</ResponseField>

<h2 id="returns">
  Renvoie
</h2>

`CustomChart` : un objet de graphique personnalisé pouvant être consigné dans W\&B. Pour journaliser le graphique, passez-le à `wandb.log()`.

<h2 id="raises">
  Exceptions levées
</h2>

* `ValueError` : si `probs` et `preds` sont fournis simultanément, ou si le nombre de prédictions diffère du nombre d’étiquettes réelles. Également si le nombre de classes prédites distinctes dépasse le nombre de noms de classes, ou si le nombre d’étiquettes réelles distinctes dépasse le nombre de noms de classes.
* `wandb.Error` : si numpy n’est pas installé.

<h2 id="examples">
  Exemples
</h2>

Journaliser une matrice de confusion avec des probabilités aléatoires pour la
classification d’animaux sauvages :

```python theme={"system"}
import numpy as np
import wandb

# Définir les noms de classes des animaux sauvages
wildlife_class_names = ["Lion", "Tiger", "Elephant", "Zebra"]

# Générer des étiquettes réelles aléatoires (de 0 à 3 pour 10 échantillons)
wildlife_y_true = np.random.randint(0, 4, size=10)

# Générer des probabilités aléatoires pour chaque classe (10 échantillons × 4 classes)
wildlife_probs = np.random.rand(10, 4)
wildlife_probs = np.exp(wildlife_probs) / np.sum(
    np.exp(wildlife_probs),
    axis=1,
    keepdims=True,
)

# Initialiser le run W&B et journaliser la matrice de confusion
with wandb.init(project="wildlife_classification") as run:
    confusion_matrix = wandb.plot.confusion_matrix(
        probs=wildlife_probs,
        y_true=wildlife_y_true,
        class_names=wildlife_class_names,
        title="Wildlife Classification Confusion Matrix",
    )
    run.log({"wildlife_confusion_matrix": confusion_matrix})
```

Dans cet exemple, une matrice de confusion est générée à partir de probabilités
aléatoires.

Journalisation d’une matrice de confusion avec des prédictions de modèle simulées et une précision
de 85 % :

```python theme={"system"}
import numpy as np
import wandb

# Définir les noms de classes des animaux sauvages
wildlife_class_names = ["Lion", "Tiger", "Elephant", "Zebra"]

# Simuler les étiquettes réelles de 200 images d’animaux (distribution déséquilibrée)
wildlife_y_true = np.random.choice(
    [0, 1, 2, 3],
    size=200,
    p=[0.2, 0.3, 0.25, 0.25],
)

# Simuler les prédictions du modèle avec une précision de 85 %
wildlife_preds = [
    y_t
    if np.random.rand() < 0.85
    else np.random.choice([x for x in range(4) if x != y_t])
    for y_t in wildlife_y_true
]

# Initialiser le run W&B et journaliser la matrice de confusion
with wandb.init(project="wildlife_classification") as run:
    confusion_matrix = wandb.plot.confusion_matrix(
        preds=wildlife_preds,
        y_true=wildlife_y_true,
        class_names=wildlife_class_names,
        title="Simulated Wildlife Classification Confusion Matrix",
    )
    run.log({"wildlife_confusion_matrix": confusion_matrix})
```

Dans cet exemple, les prédictions sont simulées avec une précision de 85 % pour générer une
matrice de confusion.


## Related topics

- [Aperçu des graphiques personnalisés](/fr/products/wandb/ref/python/custom-charts.md)
