Practicing standardization
It is dangerous to use KNN
on unknown distributions blindly. Its performance suffers greatly when the feature distributions don't have the same scales. Unscaled features will skew distance calculations and thus return unrealistic anomaly scores.
A common technique to counter this is using standardization, which involves removing the mean from a feature and dividing it by the standard deviation. This has the effect of making the feature have a mean of 0 and a variance of 1.
Practice standardization on the females
dataset, which has already been loaded for you.
This exercise is part of the course
Anomaly Detection in Python
Exercise instructions
- Create an instance of
StandardScaler()
and store it asss
. - Extract feature and target arrays into
X
andy
. The target is theweightkg
column. - Fit
StandardScaler()
to X and transform it simultaneously. - Repeat the above process but preserve the column names of the
X
DataFrame.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
from sklearn.preprocessing import StandardScaler
# Initialize a StandardScaler
ss = ____
# Extract feature and target arrays
X = ____
y = ____
# Fit/transform X
X_transformed = ____
# Fit/transform X but preserve the column names
X.____ = ____