Test verileri

Üretim İçin Machine Learning Modelleri Geliştirme

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Veri doğrulama ve şema testleri

  • Veri doğrulama testleri eksik değerleri, tutarsızlıkları ve anormal verileri arar
    • Örn. aykırı değerleri tespit etme
  • Şema testleri beklenen veri biçimlerini ve veri tiplerini kontrol eder

    • Örn. "time to value"ın saniyeleri ölçen bir tamsayı olduğundan, dakikalar olmadığından emin ol
  • Great Expectations gibi araçlar bu süreci otomatikleştirir

great expectations logosu

Üretim İçin Machine Learning Modelleri Geliştirme

Basit testlerin ötesi

  • Veri ve şema testleri temel sorunları kontrol eder
  • Beklenti testleri gibi daha karmaşık testler daha karmaşık sorunlara bakar
    • Değerlerin belirli bir aralıkta olup olmadığını kontrol etme
    • Bilinen kalıp/eğilimleri kontrol etme
Üretim İçin Machine Learning Modelleri Geliştirme

Beklenti testleri

  • Bir veri doğrulama testi türü
  • Verinin, kullanıcı ya da sistemce tanımlanan belirli "beklentiler"le eşleştiğinden emin ol
    • Örn. web sitesinde geçirilen sürenin ortalama 4 dakika, standart sapmanın 1 dakika olması beklensin
    • Örn. bir hastanın geçmiş ziyaret tarihlerinin mevcut zamandan önce olması beklensin
Üretim İçin Machine Learning Modelleri Geliştirme

Özellik önem testleri

  • Özellik önem testleri, bir ML modelindeki en önemli özellikleri belirler
  • Örnek: Permutation importance
    • Özellik değerlerini rastgele permüte eder ve model performansı ne kadar düşüyor ölçer

çubuk grafik

Üretim İçin Machine Learning Modelleri Geliştirme

Permutation importance örneği

Kurulum:

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)

Permutation importance testimizi çalıştırma:

# 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]}')
Üretim İçin Machine Learning Modelleri Geliştirme

Veri kaymasını aramak

Veri kayması

  • Bazen özellik kayması da denir
  • Bir modelin girdi verisinin dağılımının değişmesi
  • Örn. insanlar yeni bir ürüne karşılık gelen yeni bir terimi daha çok kullanıyor ve bir sohbet botu afallıyor

Etiket kayması

  • Etiket dağılımının değişmesi
  • Örn. iade talebinden, iadelerinin durumunu sormaya doğru bir kayma
Üretim İçin Machine Learning Modelleri Geliştirme

Hadi pratik yapalım!

Üretim İçin Machine Learning Modelleri Geliştirme

Preparing Video For Download...