Passer au contenu principal
Les graphiques personnalisés de W&B se programment à l’aide d’un ensemble de fonctions de l’espace de noms wandb.plot. Ces fonctions créent des visualisations interactives dans les tableaux de bord des projets W&B et prennent en charge des visualisations ML courantes, comme les matrices de confusion, les courbes ROC et les graphiques de distribution.

Fonctions de graphique disponibles

FonctionDescription
confusion_matrix()Génère des matrices de confusion pour visualiser les performances de classification.
roc_curve()Crée des courbes ROC (Receiver Operating Characteristic) pour les classificateurs binaires et multiclasse.
pr_curve()Construit des courbes précision-rappel pour évaluer les classificateurs.
line()Construit des graphiques en courbes à partir de données tabulaires.
scatter()Crée des nuages de points pour représenter les relations entre variables.
bar()Génère des graphiques en barres pour les données catégorielles.
histogram()Construit des histogrammes pour analyser la distribution des données.
line_series()Trace plusieurs séries sur un même graphique.
plot_table()Crée des graphiques personnalisés à l’aide de spécifications Vega-Lite.

Cas d’usage courants

Évaluation du modèle

  • Classification : confusion_matrix(), roc_curve() et pr_curve() pour évaluer les classificateurs
  • Régression : scatter() pour les graphiques comparant les prédictions aux valeurs réelles, et histogram() pour l’analyse des résidus
  • Graphiques Vega-Lite : plot_table() pour des visualisations spécifiques au domaine

Suivi de l’entraînement

  • Courbes d’apprentissage: line() ou line_series() pour suivre les métriques au fil des époques
  • Comparaison des hyperparamètres: graphiques bar() pour comparer les configurations

Analyse des données

  • Analyse de la distribution : histogram() pour visualiser la distribution des variables
  • Analyse de corrélation : graphiques scatter() pour visualiser les relations entre variables

Premiers pas

Journaliser une matrice de confusion

import wandb

y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 2, 0, 1, 1]
class_names = ["class_0", "class_1", "class_2"]

# Initialiser un run
with wandb.init(project="custom-charts-demo") as run:
    run.log({
        "conf_mat": wandb.plot.confusion_matrix(
            y_true=y_true, 
            preds=y_pred,
            class_names=class_names
        )
    })

Créer un nuage de points pour l’analyse des variables

import numpy as np

# Générer des données synthétiques
data_table = wandb.Table(columns=["feature_1", "feature_2", "label"])

with wandb.init(project="custom-charts-demo") as run:

    for _ in range(100):
        data_table.add_data(
            np.random.randn(), 
            np.random.randn(), 
            np.random.choice(["A", "B"])
        )

    run.log({
        "feature_scatter": wandb.plot.scatter(
            data_table, x="feature_1", y="feature_2",
            title="Feature Distribution"
        )
    })