Monitoreo y visualización

Machine Learning de extremo a extremo

Joshua Stapleton

Machine Learning Engineer

¿Qué sigue?

  • Entrenado, optimizado, desplegado, predicho... ¿y ahora?
  • Monitoreo
    • Registrar resultados
    • Visualizar rendimiento

Fase de monitoreo en el ciclo de vida de machine learning

Machine Learning de extremo a extremo

Logging con Python

import logging
import matplotlib.pyplot as plt

# Setting up basic logging configuration
logging.basicConfig(filename='predictions.log', level=logging.INFO)

# Make predictions on the test set and log the results
for i in range(X_test.shape[0]):
    instance = X_test[i,:].reshape(1, -1)
    prediction = model.predict(instance)
    logging.info(f'Inst. {i} - PredClass: {prediction[0]}, RealClass: {y_test[i]}')
Machine Learning de extremo a extremo

Logging con Python (cont.)

# Function to visualize the predictions from log
with open(logfile, 'r') as f:
    lines = f.readlines()
    predicted_classes = [int(line.split("Predicted Class: ")[1].split(",")[0]) \
        for line in lines]

    # Perform data analysis, visualization, etc.
    ...
  • Usa logging de Python para trazar el rendimiento del modelo
Machine Learning de extremo a extremo

Visualización

  • Revisa el rendimiento en el tiempo
  • Convierte datos brutos de entradas/predicciones en insights
import matplotlib.pyplot as plt

# Sample data: Random accuracy values for 12 months months = ["Jan", "Feb", "Mar", ...] accuracies = [0.86, 0.91, 0.74, ...]
plt.plot(months, accuracies, '-o') plt.title("Model Accuracy Over Months") plt.xlabel("Months") plt.ylabel("Accuracy") plt.show()
Machine Learning de extremo a extremo

Ejemplo de visualización

Gráfico de línea con precisión hipotética del modelo durante 12 meses

Machine Learning de extremo a extremo

Logging

  • Registro de eventos

    • Seguimiento de variables, llamadas a funciones
    • Información para la ejecución y el rendimiento
  • El monitoreo ayuda a seguir:

    • Uso, rendimiento, errores/anomalías
2023-08-04 09:15:20 [INFO] Model version 1.2.7 started

2023-08-04 09:15:45 [INFO] Preprocessing input data for prediction
2023-08-04 09:15:47 [DEBUG] Input data shape: (1, 12)
2023-08-04 09:15:48 [INFO] Making prediction
2023-08-04 09:15:50 [DEBUG] Output prediction: [0.78]
...
Machine Learning de extremo a extremo

Ejemplos de visualización

  • Métrica útil: balanced accuracy en el tiempo
  • Detecta tendencias y degradación de rendimiento
  • Decide si hay que reentrenar
  • Elige métricas útiles para tu caso

Ejemplo:

  • La balanced accuracy cambia respecto a la tasa real esperada
  • Puede indicar un problema
  • Elige y evalúa

Visualización de la balanced accuracy del modelo

Machine Learning de extremo a extremo

¡Vamos a practicar!

Machine Learning de extremo a extremo

Preparing Video For Download...