Variabelen centreren en schalen

Klantsegmentatie in Python

Karolis Urbonas

Head of Data Science, Amazon

Een probleem vaststellen

  • Analyseer kernstatistieken van de dataset
  • Vergelijk gemiddelde en standaardafwijking
datamart_rfm.describe()

Klantsegmentatie in Python

Variabelen met verschillend gemiddelde centreren

  • K-means werkt goed op variabelen met hetzelfde gemiddelde
  • Centreren: trek voor elke observatie het gemiddelde af
datamart_centered = datamart_rfm - datamart_rfm.mean()
datamart_centered.describe().round(2)

Klantsegmentatie in Python

Variabelen met verschillende variantie schalen

  • K-means werkt beter op variabelen met gelijke variantie/standaardafwijking
  • Schalen: deel door de standaardafwijking per variabele
datamart_scaled = datamart_rfm / datamart_rfm.std()
datamart_scaled.describe().round(2)

Klantsegmentatie in Python

Centreren en schalen combineren

  • Trek het gemiddelde af en deel door de standaardafwijking handmatig
  • Of gebruik een scaler uit de scikit-learn-bibliotheek (geeft een numpy.ndarray terug)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(datamart_rfm)
datamart_normalized = scaler.transform(datamart_rfm)

print('mean: ', datamart_normalized.mean(axis=0).round(2)) print('std: ', datamart_normalized.std(axis=0).round(2))
mean:  [-0. -0.  0.]
std:  [1. 1. 1.]
Klantsegmentatie in Python

Test zelf verschillende aanpakken!

Klantsegmentatie in Python

Preparing Video For Download...