LOF กับค่าความน่าจะเป็นของ outlier
เช่นเคย ให้ตรวจสอบว่าระดับ contamination ที่เลือกนั้นน่าเชื่อถือหรือไม่ โดยกรอง outlier ด้วย probability threshold ไวยากรณ์เหมือนกับที่ใช้กับ KNN
นำเข้า LOF estimator ไว้แล้ว และชุดข้อมูล females_transformed ก็พร้อมใช้งานเช่นกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจจับความผิดปกติใน Python
คำแนะนำการฝึกหัด
- สร้าง
LOF()โดยกำหนดจำนวน neighbor เป็น 20 - คำนวณค่าความน่าจะเป็นของ outlier แล้วเก็บไว้ใน
probs - สร้าง boolean mask ชื่อ
is_outlierที่คืนค่า true เมื่อค่าความน่าจะเป็นของ outlier สูงกว่า 50% - ใช้
is_outlierเพื่อกรอง outlier จากfemales_transformed
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Instantiate an LOF with 20 neighbors and fit to the data
lof = ____
lof.____
# Calculate probabilities
probs = ____
# Create a boolean mask
is_outlier = ____
# Use the boolean mask to filter the outliers
outliers = ____
print(len(outliers))