Données de test

Déployer des modèles de Machine Learning en production

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Tests de validation et de schéma

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

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

logo great expectations

Déployer des modèles de Machine Learning en 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 poussés comme les tests d'attentes détectent des enjeux plus complexes
    • Vérifier si des valeurs sont dans une plage donnée
    • Vérifier des tendances/modèles connus
Déployer des modèles de Machine Learning en production

Tests d'attentes

  • Un type de test de validation des données
  • S'assurer que les données correspondent à des « attentes » définies par l'utilisateur ou le système
    • P. ex. s'attendre à ~4 minutes passées sur le site, avec un écart type de 1 minute
    • P. ex. s'attendre à ce que les dates de visites passées d'un patient soient antérieures au moment présent
Déployer des modèles de Machine Learning en production

Tests d'importance des caractéristiques

  • Les tests d'importance des caractéristiques ciblent les variables les plus déterminantes dans un modèle de ML
  • Exemple : Permutation importance
    • Permuter aléatoirement les valeurs d'une caractéristique et mesurer la baisse de performance du modèle

diagramme à barres

Déployer des modèles de Machine Learning en production

Exemple : importance par permutation

Mise en place :

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 d'importance par permutation :

# 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éployer des modèles de Machine Learning en production

Repérer la dérive des données

Dérive des données

  • Aussi appelée dérive des caractéristiques
  • Un changement de la distribution des données d'entrée d'un modèle
  • P. ex. un nouveau terme lié à un produit devient courant et un clavardeur automatisé ne comprend plus

Dérive des étiquettes

  • Un changement de la distribution des étiquettes
  • P. ex. moins de demandes de retours, plus de demandes sur l'état de ces retours
Déployer des modèles de Machine Learning en production

Passons à la pratique !

Déployer des modèles de Machine Learning en production

Preparing Video For Download...