Deriva de datos

Machine Learning de extremo a extremo

Joshua Stapleton

Machine Learning Engineer

La necesidad de detectar deriva de datos

Gráfico que muestra el cambio en la distribución de cardiopatías por edad a lo largo del tiempo: hoy hay menos casos y aparecen a mayor edad

Machine Learning de extremo a extremo

Prueba de Kolmogórov-Smirnov

  • Uso común para detectar deriva de datos
  • Compara muestras para medir la similitud de distribuciones

Dos gráficos que muestran la diferencia entre la distribución del dataset de entrenamiento inicial y un dataset de inferencia más reciente con deriva de datos

Machine Learning de extremo a extremo

Uso de ks_2samp()

  • La función ks_2samp() devuelve: estadístico de prueba y p-valor.
  • Usa el p-valor para aceptar/rechazar la hipótesis nula de similitud de distribuciones.
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 extremo a extremo

Corregir la deriva de datos

Actualiza el modelo para nuevos datos

  • Reentrena el modelo
  • Ajusta/actualiza parámetros del modelo

¿No hay suficientes datos nuevos/de inferencia?

  • Reentrena con un dataset mixto
  • Aumenta la cantidad de datos nuevos

Diagrama de flujo que muestra el proceso de reentrenar y reimplementar un modelo con deriva de datos

Diagrama que muestra cómo reentrenar periódicamente un modelo con cantidades crecientes de datos nuevos a medida que estén disponibles

Machine Learning de extremo a extremo

Recursos para detectar y corregir la deriva de datos

Machine Learning de extremo a extremo

¡Vamos a practicar!

Machine Learning de extremo a extremo

Preparing Video For Download...