Data drift

Machine Learning แบบ End-to-End

Joshua Stapleton

Machine Learning Engineer

ความจำเป็นในการตรวจจับ data drift

กราฟแสดงการเปลี่ยนแปลงของการกระจายตัวของโรคหัวใจในช่วงอายุต่าง ๆ ตามเวลา — ปัจจุบันพบโรคหัวใจน้อยลงและเกิดขึ้นในผู้สูงอายุมากขึ้น

Machine Learning แบบ End-to-End

การทดสอบ Kolmogorov-Smirnov

  • ใช้กันทั่วไปในการตรวจจับ data drift
  • เปรียบเทียบความแตกต่างระหว่างตัวอย่างชุดข้อมูลเพื่อตรวจสอบความคล้ายคลึงของการกระจายตัว

กราฟสองแผนภูมิแสดงความแตกต่างระหว่างการกระจายตัวของชุดข้อมูล training เริ่มต้น และชุดข้อมูล inference ใหม่ที่เกิด data drift

Machine Learning แบบ End-to-End

การใช้ฟังก์ชัน ks_2samp()

  • ฟังก์ชัน ks_2samp() คืนค่าสองค่า: test statistic และ p-value
  • ใช้ p-value เพื่อยอมรับหรือปฏิเสธ null hypothesis เรื่องความคล้ายคลึงของการกระจายตัว
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 แบบ End-to-End

การแก้ไข data drift

อัปเดตโมเดลให้รองรับข้อมูลใหม่

  • ฝึกโมเดลใหม่
  • ปรับ / อัปเดต parameter ของโมเดล

ข้อมูลใหม่/ข้อมูล inference ไม่เพียงพอ?

  • ฝึกโมเดลใหม่บนชุดข้อมูลผสม
  • เพิ่มปริมาณข้อมูลใหม่

แผนภูมิแสดงกระบวนการ retrain และ redeploy โมเดลที่กำลังประสบปัญหา data drift

ไดอะแกรมแสดงการ retrain โมเดลเป็นระยะบนข้อมูลใหม่ที่เพิ่มขึ้นเรื่อย ๆ เมื่อข้อมูลใหม่พร้อมใช้งานตามเวลา

Machine Learning แบบ End-to-End

แหล่งข้อมูลเพิ่มเติมสำหรับการตรวจจับและแก้ไข data drift

  • Population Stability Index (PSI)

    • เปรียบเทียบตัวแปร/คอลัมน์เชิงหมวดหมู่ทีละตัว
  • Evidently

    • ไลบรารี Python แบบ open-source
    • ทดสอบและแก้ไข data drift ได้อย่างครอบคลุม
  • NannyML

    • ติดตามประสิทธิภาพของโมเดลที่ deploy แล้ว
Machine Learning แบบ End-to-End

มาฝึกกันเถอะ!

Machine Learning แบบ End-to-End

Preparing Video For Download...