> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-weave-otel-prioritization.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# pr_curve()

export const GitHubLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="github-source-link">
    <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>
    Source GitHub
  </a>;

<GitHubLink url="https://github.com/wandb/wandb/blob/main/wandb/plot/pr_curve.py#L19" />

## <kbd>fonction</kbd> wandb.plot.pr\_curve

```python theme={null}
y_true: 'Iterable[T] | None' = None,
y_probas: 'Iterable[numbers.Number] | None' = None,
labels: 'list[str] | None' = None,
classes_to_plot: 'list[T] | None' = None,
interp_size: 'int' = 21,
title: 'str' = 'Precision-Recall Curve',
split_table: 'bool' = False
```

Construit une courbe précision-rappel (PR).

La courbe précision-rappel est particulièrement utile pour évaluer des classificateurs sur des jeux de données déséquilibrés. Une aire élevée sous la courbe PR indique à la fois une précision élevée (un faible taux de faux positifs) et un rappel élevé (un faible taux de faux négatifs). La courbe donne des indications sur l’équilibre entre faux positifs et faux négatifs à différents seuils, ce qui aide à évaluer les performances d’un modèle.

<div id="args">
  ## Arguments
</div>

* `y_true`: Vraies étiquettes binaires. La forme doit être (`num_samples`,).
* `y_probas`: Scores ou probabilités prédits pour chaque classe. Ces valeurs peuvent être des estimations de probabilité, des scores de confiance ou des valeurs de décision sans seuillage. La forme doit être (`num_samples`, `num_classes`).
* `labels`: Liste facultative de noms de classes pour remplacer les valeurs numériques dans `y_true` afin de faciliter l’interprétation du graphique. Par exemple, `labels = ['dog', 'cat', 'owl']` remplacera 0 par 'dog', 1 par 'cat' et 2 par 'owl' dans le graphique. Si elle n’est pas fournie, les valeurs numériques de `y_true` seront utilisées.
* `classes_to_plot`: Liste facultative de valeurs de classe uniques de y\_true à inclure dans le graphique. Si elle n’est pas spécifiée, toutes les classes uniques de y\_true seront représentées.
* `interp_size`: Nombre de points servant à interpoler les valeurs de rappel. Les valeurs de rappel seront fixées à `interp_size` points uniformément répartis dans l’intervalle \[0, 1], et la précision sera interpolée en conséquence.
* `title`: Titre du graphique. La valeur par défaut est "Courbe précision-rappel".
* `split_table`: Indique si le tableau doit être séparé dans une section distincte de l’UI W\&B. Si `True`, le tableau sera affiché dans une section nommée "Custom Chart Tables". La valeur par défaut est `False`.

<div id="returns">
  ## Renvoie
</div>

`CustomChart`: Un objet de graphique personnalisé qui peut être enregistré dans W\&B. Pour enregistrer le  graphique, transmettez-le à `wandb.log()`.

<div id="raises">
  ## Exceptions levées
</div>

* `wandb.Error`: Si NumPy, pandas ou scikit-learn n’est pas installé.

<div id="examples">
  ## Exemples
</div>

```python theme={null}
import wandb

# Exemple de détection de spam (classification binaire)
y_true = [0, 1, 1, 0, 1]  # 0 = pas spam, 1 = spam
y_probas = [
    [0.9, 0.1],  # Probabilités prédites pour le premier échantillon (pas spam)
    [0.2, 0.8],  # Deuxième échantillon (spam), et ainsi de suite
    [0.1, 0.9],
    [0.8, 0.2],
    [0.3, 0.7],
]

labels = ["not spam", "spam"]  # Noms de classes facultatifs pour la lisibilité

with wandb.init(project="spam-detection") as run:
    pr_curve = wandb.plot.pr_curve(
        y_true=y_true,
        y_probas=y_probas,
        labels=labels,
        title="Precision-Recall Curve for Spam Detection",
    )
    run.log({"pr-curve": pr_curve})
```
