Testarea datelor

Dezvoltarea modelelor de Machine Learning pentru producție

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Validarea datelor și testele de schemă

  • Testele de validare a datelor detectează valori lipsă, inconsistențe și date anormale
    • Ex.: detectarea valorilor aberante
  • Testele de schemă verifică formatele și tipurile de date așteptate

    • Ex.: „time to value" trebuie să fie un număr întreg în secunde, nu minute
  • Instrumente precum Great Expectations automatizează acest proces

logo Great Expectations

Dezvoltarea modelelor de Machine Learning pentru producție

Dincolo de testarea simplă

  • Testele de date și schemă verifică probleme de bază
  • Testele mai complexe, precum testele de așteptări, detectează probleme avansate
    • Verificarea dacă valorile se încadrează într-un interval
    • Verificarea tiparelor/tendințelor cunoscute
Dezvoltarea modelelor de Machine Learning pentru producție

Testele de așteptări

  • Un tip de test de validare a datelor
  • Verifică dacă datele corespund unor „așteptări" definite de utilizator sau sistem
    • Ex.: timpul petrecut pe site să fie de aproximativ 4 minute, cu o abatere standard de 1 minut
    • Ex.: datele vizitelor anterioare ale unui pacient să fie anterioare momentului curent
Dezvoltarea modelelor de Machine Learning pentru producție

Testele de importanță a caracteristicilor

  • Testele de importanță a caracteristicilor identifică cele mai relevante caracteristici dintr-un model ML
  • Exemplu: Permutation importance
    • Permută aleatoriu valorile caracteristicilor și măsoară scăderea performanței modelului

diagramă cu bare

Dezvoltarea modelelor de Machine Learning pentru producție

Exemplu de importanță prin permutare

Configurare:

import numpy as np
from sklearn.ensemble import RandomForestClassifier
from sklearn.inspection import permutation_importance
# Train a random forest classifier (assuming we have some data)
model = RandomForestClassifier().fit(X_train, y_train)

Rularea testului de importanță prin permutare:

# Calculate feature importances using permutation importance
results = permutation_importance(model, X_test, y_test, n_repeats=10, random_state=42)
# Print the feature importances
feature_names = ['feature_1', 'feature_2', 'feature_3', ...]
importances = results.importances_mean
for i in range(len(feature_names)):
    print(f'{feature_names[i]}: {importances[i]}')
Dezvoltarea modelelor de Machine Learning pentru producție

Identificarea derivei datelor

Deriva datelor

  • Uneori numită deriva caracteristicilor
  • O schimbare în distribuția datelor de intrare ale modelului
  • Ex.: mai mulți utilizatori folosesc un termen nou legat de un produs nou, iar chatbot-ul nu îl recunoaște

Deriva etichetelor

  • O schimbare în distribuția etichetelor
  • Ex.: utilizatorii trec de la cereri de returnare la verificarea statusului retururilor
Dezvoltarea modelelor de Machine Learning pentru producție

Să exersăm!

Dezvoltarea modelelor de Machine Learning pentru producție

Preparing Video For Download...