Introduction au versionnage des données avec DVC
Ravi Bhadauria
Machine Learning Engineer
Reproductible : recréer les mêmes résultats selon l'environnement et dans le temps
Modulaire : écrit en modules distincts, indépendants et testables
Cohérent : une seule source de vérité pour tous les paramètres

Les fichiers doivent être dans un format pris en charge
params.yamlNous utiliserons YAML
.yaml ou .ymlIndiquez les paramètres sous forme de dictionnaires
:Les commentaires commencent par #
Types de données :
Structures de données :
L'indentation est importante
# Paires clé-valeur
a: 1
b: 1.2
c: "String value"
# Tableaux
a: [1, 2.2, 3, 4.8]
b:
- 5
- "String value"
# Dictionnaires imbriqués
a:
b: "Some value"
c: "Some other value"
# Paramètres de prétraitement des données preprocess: ... target_column: RainTomorrow categorical_features: - Location - WindGustDir - ...# Paramètres d'entraînement/évaluation du modèle train_and_evaluate: rfc_params: n_estimators: 2 ...
# Dans model.py
def evaluate_model(model, X_test, y_test):
"""Evaluate a model on a test set and return metrics."""
y_pred = model.predict(X_test)
precision = precision_score(y_test, y_pred)
...
return { "accuracy": accuracy, "precision": precision,
"recall": recall, "f1_score": f1 }
# Dans le code d'entrée (train_and_evaluate.py)
from model import evaluate_model
metrics = evaluate_model(model, X_test, y_test)

Introduction au versionnage des données avec DVC