Modellens tillförlitlighet

Att utveckla maskininlärningsmodeller för produktion

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Anpassa ML-modeller till affärspåverkansmått

  • Affärspåverkansmått mäter ML:s inverkan på verksamheten
    • t.ex. intäkter, kostnadsbesparingar, kundnöjdhetspoäng (CSAT)
  • Bör vara i linje med modellmått
    • t.ex. churnprediktor --> intäkter
    • t.ex. prediktivt underhåll i tillverkning --> kostnadsbesparingar
    • t.ex. noggrannhet vid chatbotts intentionsigenkänning --> CSAT

Graf som pekar uppåt

Att utveckla maskininlärningsmodeller för produktion

Testrutin i ML-pipelines

  • Enhetstester testar enskilda komponenter
    • t.ex. testa att en PCA-instans returnerar förväntat antal särdrag
  • Integrationstester granskar hela pipelinen
    • t.ex. testa att indata förbehandlas korrekt, att modellen ger korrekta prediktioner och att utdata efterbehandlas korrekt
  • Röktester är snabba tester som ger dig förtroende för att systemet fungerar
    • t.ex. testa att modellen korrekt klassificerar en liten uppsättning exempelbilder
  • Testa tidigt och testa ofta
    • t.ex. testa modellen på nya data så snart de blir tillgängliga
Att utveckla maskininlärningsmodeller för produktion

Exempel på enhetstest

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."
Att utveckla maskininlärningsmodeller för produktion

Övervaka modellföråldring

  • Modellföråldring – modellens prestanda försämras över tid
    • förändringar i data eller omgivning
  • Kontinuerlig övervakning!

Förvirrad robot

Att utveckla maskininlärningsmodeller för produktion

Identifiera och åtgärda modellföråldring

Identifiera

  • Övervaka modellprestanda
  • Övervaka förändringar i data och omgivning

Åtgärda

  • Träna om modellen på nya data
    • t.ex. ett nytt särdrag behöver inkluderas i modellen
  • Uppdatera datapipelinen för att hantera omgivningsförändringar
    • t.ex. förändringar i analysplattformar skapar problem i pipelinen
Att utveckla maskininlärningsmodeller för produktion

Nu kör vi en övning!

Att utveckla maskininlärningsmodeller för produktion

Preparing Video For Download...