Aller au contenu principal

Chapitre 2 : Détection de la dérive des données

Types de dérive​

TypeDescriptionDétection
Dérive des covariablesChangement de la distribution des données d'entréeTests statistiques sur les caractéristiques
Dérive de conceptChangement de la relation entre X et YSurveiller la précision des prédictions
Dérive des étiquettesChangement de la distribution cibleComparer les distributions de prédiction

Tests statistiques pour la dérive​

from scipy import stats
import numpy as np

def detect_drift(reference_data: np.ndarray, current_data: np.ndarray, threshold: float = 0.05):
"""Detecter la dérive en utilisant le test de Kolmogorov-Smirnov."""
drift_results = {}

for i, feature in enumerate(feature_names):
statistic, p_value = stats.ks_2samp(
reference_data[:, i],
current_data[:, i]
)
drift_results[feature] = {
'statistic': statistic,
'p_value': p_value,
'drift_detected': p_value < threshold
}

return drift_results

Tableau de bord de surveillance de la dérive​

# Configuration du tableau de bord Grafana
panels:
- title: "Score de dérive des caractéristiques"
type: timeseries
targets:
- expr: model_drift_score{feature="age"}
- expr: model_drift_score{feature="income"}
thresholds:
- value: 0.1
color: yellow
- value: 0.2
color: red

Suivant : Chapitre 3 : Alertes et réponse aux incidents