Spolehlivost modelu

Developing Machine Learning Models for Production

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Sladění modelů ML s obchodními metrikami dopadu

  • Obchodní metriky dopadu měří vliv ML na podnikání
    • např. tržby, úspory nákladů, skóre spokojenosti zákazníků (CSAT)
  • Měly by být sladěny s metrikami modelu
    • např. prediktor odchodu --> tržby
    • např. prediktor údržby ve výrobě --> úspory nákladů
    • např. přesnost detekce záměru chatbota --> CSAT

rostoucí graf

Developing Machine Learning Models for Production

Testovací rutiny v ML pipeline

  • Unit testy testují jednotlivé komponenty
    • např. ověření, že instance PCA vrátí očekávaný počet příznaků
  • Integrační testy pokrývají celý pipeline
    • např. ověření správného předzpracování vstupních dat, přesnosti predikcí modelu a správného post-processingu výstupu
  • Smoke testy jsou rychlé testy ověřující funkčnost systému
    • např. ověření, že model správně klasifikuje malou sadu vzorových obrázků
  • Testujte brzy a často
    • např. testujte model na nových datech, jakmile jsou dostupná
Developing Machine Learning Models for Production

Příklad unit testu

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."
Developing Machine Learning Models for Production

Monitorování zastarání modelu

  • Zastarání modelu – výkonnost modelu v průběhu času klesá
    • změna dat nebo prostředí
  • Průběžné monitorování!

zmatený robot

Developing Machine Learning Models for Production

Identifikace a řešení zastarání modelu

Identifikace

  • Monitorování výkonnosti modelu
  • Sledování změn dat a prostředí

Řešení

  • Přetrénování modelu na nových datech
    • např. nový příznak je třeba zahrnout do modelu
  • Aktualizace datového pipeline kvůli změnám prostředí
    • např. změny v analytických platformách způsobují chyby v pipeline
Developing Machine Learning Models for Production

Pojďme si procvičit!

Developing Machine Learning Models for Production

Preparing Video For Download...