Tests des données

Développer des modèles de Machine Learning pour la production

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Validation des données et tests de schéma

  • Les tests de validation des données détectent les valeurs manquantes, incohérences et données anormales
    • P. ex. détection des valeurs aberrantes
  • Les tests de schéma vérifient les formats et types attendus

    • P. ex. s'assurer que « time to value » est un entier en secondes, pas en minutes
  • Des outils comme Great Expectations automatisent ce processus

logo great expectations

Développer des modèles de Machine Learning pour la production

Au‑delà des tests simples

  • Les tests de données et de schéma repèrent les problèmes de base
  • Des tests plus avancés comme les tests d'« expectations » ciblent des problèmes plus complexes
    • Vérifier si des valeurs sont dans une plage donnée
    • Rechercher des motifs/tendances connus
Développer des modèles de Machine Learning pour la production

Tests d'« expectations »

  • Un type de test de validation des données
  • Vérifie que les données respectent des « expectations » définies par l'utilisateur ou le système
    • P. ex. temps passé sur le site ≈ 4 minutes avec un écart‑type de 1 minute
    • P. ex. les dates de visites passées d'un patient sont antérieures à l'instant présent
Développer des modèles de Machine Learning pour la production

Tests d'importance des variables

  • Les tests d'importance des variables identifient les variables clés d'un modèle de ML
  • Exemple : Permutation importance
    • Permuter aléatoirement les valeurs d'une variable et mesurer la baisse de performance du modèle

diagramme en barres

Développer des modèles de Machine Learning pour la production

Exemple : permutation importance

Configuration :

import numpy as np
from sklearn.ensemble import RandomForestClassifier
from sklearn.inspection import permutation_importance
# Train a random forest classifier (assuming we have some data)
model = RandomForestClassifier().fit(X_train, y_train)

Exécuter notre test de permutation importance :

# Calculate feature importances using permutation importance
results = permutation_importance(model, X_test, y_test, n_repeats=10, random_state=42)
# Print the feature importances
feature_names = ['feature_1', 'feature_2', 'feature_3', ...]
importances = results.importances_mean
for i in range(len(feature_names)):
    print(f'{feature_names[i]}: {importances[i]}')
Développer des modèles de Machine Learning pour la production

Détecter la dérive des données

Dérive des données

  • Aussi appelée dérive des variables
  • Modification de la distribution des données d'entrée du modèle
  • P. ex. de plus en plus de personnes utilisent un nouveau terme lié à un produit ; le chatbot est perdu

Dérive des labels

  • Modification de la distribution des labels
  • P. ex. moins de demandes de retours et plus de demandes sur l'état d'avancement des retours
Développer des modèles de Machine Learning pour la production

Passons à la pratique !

Développer des modèles de Machine Learning pour la production

Preparing Video For Download...