การใช้ modified z-scores ด้วย PyOD
ถึงเวลาใช้ pyod จัดการกับ outlier แล้ว เราจะใช้ตัวประมาณค่า MAD จาก pyod เพื่อคำนวณ modified z-scores โดยตัวประมาณค่านี้ใช้ฟังก์ชัน median_abs_deviation ภายในอยู่แล้ว จึงไม่จำเป็นต้องทำขั้นตอนก่อนหน้าซ้ำอีก
โหลดตัวประมาณค่า MAD จาก pyod.models.mad ไว้แล้ว และข้อมูลพร้อมใช้งานในตัวแปร prices
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจจับความผิดปกติใน Python
คำแนะนำการฝึกหัด
- กำหนดค่าเริ่มต้น
MAD()โดยตั้งthresholdเป็น 3.5 - ปรับรูปร่าง
pricesให้เป็น 2 มิติ - สร้าง label สำหรับ inlier/outlier บน
pricesโดยใช้madฟิตและพยากรณ์พร้อมกันในคราวเดียว - กรอง
labelsเพื่อดึงเฉพาะ outlier ซึ่งมีค่าเป็น 1
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Initialize with a threshold of 3.5
mad = ____(____=____)
# Reshape prices to make it 2D
prices_reshaped = ____.____(-1, 1)
# Fit and predict outlier labels on prices_reshaped
labels = ____
# Filter for outliers
outliers = ____[____ == ____]
print(len(outliers))