Évaluation : métriques et graphiques dans DVC

Introduction au contrôle de versions des données avec DVC

Ravi Bhadauria

Machine Learning Engineer

Métriques : modifications dans dvc.yaml

  • Configurer le fichier YAML de DVC pour suivre les métriques entre les expériences
  • Remplacer outs
stages:
  train_and_evaluate:
    outs:
    - metrics.json
    - plots.png

$$ $$

  • Par metrics
stages:
  train_and_evaluate:
    outs:
    - plots.png
    metrics:
      - metrics.json:
        cache: false
Introduction au contrôle de versions des données avec DVC

Afficher les métriques DVC

$ dvc metrics show
Path          accuracy    f1_score    precision    recall             
metrics.json  0.947       0.8656      0.988        0.7702
Introduction au contrôle de versions des données avec DVC

Comparer les métriques entre exécutions

  • Modifier un hyperparamètre et relancer dvc repro
$ dvc metrics diff
Path          Metric     HEAD    workspace    Change                  
metrics.json  accuracy   0.947   0.9995       0.0525
metrics.json  f1_score   0.8656  0.9989       0.1333
metrics.json  precision  0.988   0.9993       0.0113
metrics.json  recall     0.7702  0.9986       0.2284
Introduction au contrôle de versions des données avec DVC

Graphiques : modifications dans dvc.yaml

stages:
  train_and_evaluate:
    ...
    plots:
    - predictions.csv: # Nom du fichier contenant les prédictions
        template: confusion # Style du graphique

x: predicted_label # Nom de la colonne de l'axe X dans le fichier csv y: true_label # Nom de la colonne de l'axe Y dans le fichier csv x_label: 'Predicted label' y_label: 'True label' title: Confusion matrix
cache: false # Enregistrer dans Git
1 https://dvc.org/doc/user-guide/experiment-management/visualizing-plots#plot-templates-data-series-only
Introduction au contrôle de versions des données avec DVC

Exporter les graphiques DVC vers un fichier

$ dvc plots show predictions.csv
file:///path/to/index.html

Affichage d'une matrice de confusion générée par DVC

Introduction au contrôle de versions des données avec DVC

Comparer des graphiques DVC

# comparer le graphique de predictions.csv avec la branche main
$ dvc plots diff --target predictions.csv <branch name or commit SHA>

Comparaison de matrices de confusion générée par DVC

Introduction au contrôle de versions des données avec DVC

Passons à la pratique !

Introduction au contrôle de versions des données avec DVC

Preparing Video For Download...