Affidabilità del modello

Sviluppare modelli di Machine Learning per la produzione

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Allineare i modelli ML alle metriche di impatto business

  • Le metriche di impatto business misurano l'effetto dell'ML sul business
    • es. ricavi, risparmi, CSAT (customer satisfaction)
  • Devono essere allineate alle metriche del modello
    • es. predittore churn --> ricavi
    • es. manutenzione in manufacturing --> risparmi
    • es. accuratezza rilevamento intenti chatbot --> CSAT

grafico in crescita

Sviluppare modelli di Machine Learning per la produzione

Routine di test nelle pipeline ML

  • I test unitari verificano singoli componenti
    • es. controlla che una PCA ritorni il numero atteso di feature
  • I test di integrazione valutano l'intera pipeline
    • es. dati in input pre-processati correttamente, modello accurato, output post-processato correttamente
  • I smoke test sono rapidi e danno fiducia che il sistema funzioni
    • es. il modello classifica correttamente un piccolo set di immagini di esempio
  • Testa presto e spesso
    • es. prova il modello su nuovi dati appena disponibili
Sviluppare modelli di Machine Learning per la produzione

Esempio di test unitario

def test_pipeline():
    # Generate mock data for testing
    X_train = pd.DataFrame({'age': [25, 30, 35, 40], 'income': [50000, 60000, 70000, 80000])
    y_train = pd.Series([0, 0, 1, 1])

    pipeline = Pipeline([('preprocessing', DataPreprocessor()),  # Set up pipeline
                         ('model', LogisticRegression())])
    pipeline.fit(X_train, y_train)  # Fit pipeline on training data

    # Generate mock data for testing
    X_test = pd.DataFrame({'age': [30, 35, 40, 45], 'income': [55000, 65000, 75000, 85000])
    y_test = pd.Series([0, 0, 1, 1])
    y_pred = pipeline.predict(X_test)  
    accuracy = accuracy_score(y_test, y_pred)  # Evaluate pipeline on test data

    assert accuracy > 0.8, "Error: pipeline accuracy is too low."
Sviluppare modelli di Machine Learning per la produzione

Monitorare l'obsolescenza del modello

  • Obsolescenza del modello: le prestazioni calano nel tempo
    • cambiamenti nei dati o nell'ambiente
  • Monitoraggio continuo!

robot confuso

Sviluppare modelli di Machine Learning per la produzione

Individuare e gestire l'obsolescenza del modello

Individuare

  • Monitora le prestazioni del modello
  • Monitora cambiamenti in dati e ambiente

Affrontare

  • Riaddestra il modello su nuovi dati
    • es. Serve includere una nuova feature
  • Aggiorna la pipeline dati per i cambiamenti dell'ambiente
    • es. Cambi nelle piattaforme di analytics confondono la pipeline
Sviluppare modelli di Machine Learning per la produzione

Passiamo alla pratica!

Sviluppare modelli di Machine Learning per la produzione

Preparing Video For Download...