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 athresholdof 3.5.
- Reshape pricesto make it 2D.
- Generate inlier/outlier labels on pricesby fitting and predicting usingmadsimultaneously.
- Subset labelsfor 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))