จัดการ Data Drift และช่วยกัน ML Model Failure ด้วย whylogs

เมื่อวานพอดีผมได้อีเมลแจ้งมาว่า whylogs เค้า แจ้งว่าเวอร์ชั่นใหม่เพิ่ง publicly released แล้วก็เห็นว่าเพิ่งขึ้นเป็น v1 แบบ สด ๆ ร้อน ๆ เลย

whylogs คือ? มันคือ open standard for data logging ตัวหนึ่งที่ช่วยให้เราสามารถตรวจสอบ Data Drift ดูประสิทธิภาพของ ML Model และช่วย validate คุณภาพของข้อมูลได้ครับ ลองตามอ่านรายละเอียดในบทความ v1 announcement ด้านล่างนี้ได้

เครื่องมือตัวนี้ผมเล็งมาสักพักแล้ว แต่ยังไม่มีโอกาสได้ใช้ :joy:

วิธีใช้ก็ค่อนข้างง่ายครับ ประมาณนี้ (รันบน Jupyter Notebook)

pip install whylogs[viz] pandas jupyter
import pandas as pd
import whylogs as why
from whylogs.viz import NotebookProfileVisualizer


data_url = "https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv"
df = pd.read_csv(data_url)

result = why.log(pandas=df)
prof_view = result.view()

result_ref = why.log(pandas=df)
prof_view_ref = result_ref.view()

visualization = NotebookProfileVisualizer()
visualization.set_profiles(
    target_profile_view=prof_view,
    reference_profile_view=prof_view_ref,
)

visualization.summary_drift_report()

ได้ผลแบบนี้

ที่เห็นว่าไม่มี data drift เลยเพราะว่าผมใช้ data ชุดเดียวกันมาเทียบนะครับ ฮ่า ๆ ถ้าเป็นข้อมูลจริงน่าจะเห็น drift ชัดอยู่ :smile:

2 Likes

ประโยคสุดท้าย :see_no_evil: อิอิ

1 Like