Using modified z-scores with PyOD
It is time to unleash pyod
on outliers. We use the MAD
estimator from pyod
to utilize modified z-scores. The estimator already uses the median_abs_deviation
function under the hood, so it is unnecessary to repeat the previous steps.
The MAD
estimator has already been loaded from pyod.models.mad
and the data is available as prices
.
This exercise is part of the course
Anomaly Detection in Python
Exercise instructions
- Initialize
MAD()
with athreshold
of 3.5. - Reshape
prices
to make it 2D. - Generate inlier/outlier labels on
prices
by fitting and predicting usingmad
simultaneously. - Subset
labels
for outliers, which are denoted as 1.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# 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))