Scaling the data
For ML algorithms using distance based metrics, it is crucial to always scale your data, as features using different scales will distort your results. K-means uses the Euclidian distance to assess distance to cluster centroids, therefore you first need to scale your data before continuing to implement the algorithm. Let's do that first.
Available is the dataframe df from the previous exercise, with some minor data preparation done so it is ready for you to use with sklearn. The fraud labels are separately stored under labels, you can use those to check the results later. numpy has been imported as np.
This exercise is part of the course
Fraud Detection in Python
Exercise instructions
- Import the
MinMaxScaler. - Transform your dataframe
dfinto a numpy arrayXby taking only the values ofdfand make sure you have allfloatvalues. - Apply the defined scaler onto
Xto obtain scaled values ofX_scaledto force all your features to a 0-1 scale.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# Import the scaler
from sklearn.preprocessing import ____
# Take the float values of df for X
X = df.values.astype(np.____)
# Define the scaler and apply to the data
scaler = ____()
X_scaled = scaler.____(X)