Centrowanie i skalowanie zmiennych

Segmentacja klientów w Pythonie

Karolis Urbonas

Head of Data Science, Amazon

Identyfikacja problemu

  • Analiza kluczowych statystyk zbioru danych
  • Porównanie średniej i odchylenia standardowego
datamart_rfm.describe()

Segmentacja klientów w Pythonie

Centrowanie zmiennych o różnych średnich

  • K-means działa dobrze na zmiennych o tej samej średniej
  • Centrowanie polega na odjęciu średniej od każdej obserwacji
datamart_centered = datamart_rfm - datamart_rfm.mean()
datamart_centered.describe().round(2)

Segmentacja klientów w Pythonie

Skalowanie zmiennych o różnej wariancji

  • K-means działa lepiej na zmiennych o tej samej wariancji / odchyleniu standardowym
  • Skalowanie polega na podzieleniu zmiennych przez ich odchylenie standardowe
datamart_scaled = datamart_rfm / datamart_rfm.std()
datamart_scaled.describe().round(2)

Segmentacja klientów w Pythonie

Łączenie centrowania i skalowania

  • Ręczne odjęcie średniej i podzielenie przez odchylenie standardowe
  • Lub użycie skalera z biblioteki scikit-learn (zwraca obiekt numpy.ndarray)
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.]
Segmentacja klientów w Pythonie

Przetestuj różne podejścia samodzielnie!

Segmentacja klientów w Pythonie

Preparing Video For Download...