Perubahan data (data drift)

Machine Learning Ujung ke Ujung

Joshua Stapleton

Machine Learning Engineer

Kebutuhan deteksi data drift

Grafik yang menunjukkan perubahan distribusi penyakit jantung pada berbagai usia dari waktu ke waktu—kini kasus lebih sedikit dan pada usia lebih tua

Machine Learning Ujung ke Ujung

Uji Kolmogorov–Smirnov

  • Umum digunakan untuk mendeteksi data drift
  • Membandingkan perbedaan sampel dataset untuk menilai kemiripan distribusi

Dua grafik yang menunjukkan perbedaan antara distribusi dataset pelatihan awal dan dataset inferensi baru yang mengalami data drift

Machine Learning Ujung ke Ujung

Menggunakan fungsi ks_2samp()

  • Fungsi ks_2samp() mengembalikan dua nilai: statistik uji, p-value.
  • Gunakan p-value untuk menerima/menolak H0 kesamaan distribusi.
from scipy.stats import ks_2samp
# load the 1D data distribution samples for comparison
sample_1, sample_2 = training_dataset_sample, current_inference_sample
# perform the KS-test - ensure input samples are numpy arrays
test_statistic, p_value = ks_2samp(sample_1, sample_2)
if p_value < 0.05:
    print("Reject null hypothesis - data drift might be occuring")
else:
    print("Samples are likely to be from the same dataset")
Machine Learning Ujung ke Ujung

Mengoreksi data drift

Perbarui model untuk menyesuaikan data baru

  • Latih ulang model
  • Sesuaikan/perbarui parameter model

Data baru/inferensi belum cukup?

  • Latih ulang pada dataset campuran
  • Tambah jumlah data baru

Diagram alir yang menunjukkan proses melatih ulang dan menerapkan ulang model yang mengalami data drift

Diagram cara melatih ulang model secara berkala pada porsi data baru yang makin besar seiring tersedianya data

Machine Learning Ujung ke Ujung

Sumber lanjutan untuk mendeteksi dan memperbaiki data drift

Machine Learning Ujung ke Ujung

Ayo berlatih!

Machine Learning Ujung ke Ujung

Preparing Video For Download...