Dùng modified z-scores với PyOD
Đã đến lúc dùng pyod để phát hiện ngoại lệ. Ta sẽ dùng bộ ước lượng MAD từ pyod để khai thác modified z-scores. Bộ ước lượng này đã sử dụng sẵn hàm median_abs_deviation ở bên dưới, nên bạn không cần lặp lại các bước trước đó.
Bộ ước lượng MAD đã được nạp từ pyod.models.mad và dữ liệu có sẵn dưới tên prices.
Bài tập này là một phần của khóa học
Phát hiện bất thường với Python
Hướng dẫn bài tập
- Khởi tạo
MAD()vớithresholdbằng 3.5. - Reshape
pricesđể chuyển thành mảng 2 chiều. - Tạo nhãn inlier/outlier cho
pricesbằng cách fit và predict đồng thời vớimad. - Lọc
labelscho các outlier, được ký hiệu là 1.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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))