Övervakning och visualisering

End-to-End Machine Learning

Joshua Stapleton

Machine Learning Engineer

Vad händer nu?

  • Tränad, optimerad, driftsatt, förutsagd... vad händer sedan?
  • Övervakning
    • Logga resultat
    • Visualisera prestanda

Övervakningsfasen i maskininlärningens livscykel

End-to-End Machine Learning

Loggning med 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]}')
End-to-End Machine Learning

Loggning med Python (forts.)

# 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.
    ...
  • Använd Python-loggning för att spåra modellens prestanda
End-to-End Machine Learning

Visualisering

  • Granska prestanda över tid
  • Omvandla rådata från indata och förutsägelser till insikter
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()
End-to-End Machine Learning

Visualiseringsexempel

Ett linjediagram som visar hypotetisk modellnoggrannhet över en 12-månadsperiod

End-to-End Machine Learning

Loggning

  • Registrering av händelser

    • Spårning av variabelvärden och funktionsanrop
    • Information som belyser körning och prestanda
  • Övervakning hjälper till att följa:

    • Användning, prestanda, fel och avvikelser
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]
...
End-to-End Machine Learning

Visualiseringsexempel

  • Användbart mått för modellen: balanserad noggrannhet över tid
  • Identifiera trender och se om prestandan försämras
  • Avgör om omträning behövs
  • Välj relevanta mått för ditt användningsfall

Exempel:

  • Balanserad noggrannhet förändras i förhållande till förväntad verklig frekvens
  • Kan tyda på ett problem
  • Välj och utvärdera

Visualisering av modellens balanserade noggrannhet

End-to-End Machine Learning

Nu kör vi en övning!

End-to-End Machine Learning

Preparing Video For Download...