Dérive des données

Machine Learning de bout en bout

Joshua Stapleton

Machine Learning Engineer

Pourquoi détecter la dérive des données

Graphique montrant l’évolution de la distribution des maladies cardiaques selon l’âge : aujourd’hui, elles sont moins fréquentes et surviennent plus tard

Machine Learning de bout en bout

Test de Kolmogorov-Smirnov

  • Couramment utilisé pour détecter la dérive
  • Compare des échantillons pour juger la similarité de distribution

Deux graphiques montrant la différence entre la distribution d’un jeu d’entraînement initial et d’un nouveau jeu d’inférence ayant subi une dérive

Machine Learning de bout en bout

Utiliser la fonction ks_2samp()

  • La fonction ks_2samp() renvoie deux valeurs : statistique de test et p-value.
  • Utiliser la p-value pour accepter/rejeter l’hypothèse nulle de similarité de distribution.
from scipy.stats import ks_2samp
# load the 1D data distribution samples for comparison
sample_1, sample_2 = training_dataset_sample, current_inference_sample
# perform the KS-test - ensure input samples are numpy arrays
test_statistic, p_value = ks_2samp(sample_1, sample_2)
if p_value < 0.05:
    print("Reject null hypothesis - data drift might be occuring")
else:
    print("Samples are likely to be from the same dataset")
Machine Learning de bout en bout

Corriger la dérive des données

Adapter le modèle aux nouvelles données

  • Réentraîner le modèle
  • Réajuster / mettre à jour les paramètres

Pas assez de nouvelles données d’inférence ?

  • Réentraîner sur un jeu mixte
  • Augmenter le volume de nouvelles données

Organigramme du processus de réentraînement et redéploiement d’un modèle subissant une dérive

Schéma montrant le réentraînement périodique d’un modèle sur des quantités croissantes de nouvelles données au fil du temps

Machine Learning de bout en bout

Ressources pour détecter et corriger la dérive des données

  • Population Stability Index (PSI)

    • Compare des variables/colonnes catégorielles uniques
  • Evidently

    • Bibliothèque Python open source
    • Tester et corriger la dérive des données de manière robuste
  • NannyML

    • Surveiller les performances des modèles déployés
Machine Learning de bout en bout

Passons à la pratique !

Machine Learning de bout en bout

Preparing Video For Download...