Centrování a škálování proměnných

Segmentace zákazníků v Pythonu

Karolis Urbonas

Head of Data Science, Amazon

Identifikace problému

  • Analyzujte klíčové statistiky datasetu
  • Porovnejte průměr a směrodatnou odchylku
datamart_rfm.describe()

Segmentace zákazníků v Pythonu

Centrování proměnných s různými průměry

  • K-means funguje dobře na proměnných se stejným průměrem
  • Centrování proměnných se provede odečtením průměrné hodnoty od každého pozorování
datamart_centered = datamart_rfm - datamart_rfm.mean()
datamart_centered.describe().round(2)

Segmentace zákazníků v Pythonu

Škálování proměnných s různým rozptylem

  • K-means funguje lépe na proměnných se stejným rozptylem / směrodatnou odchylkou
  • Škálování proměnných se provede vydělením příslušnou směrodatnou odchylkou
datamart_scaled = datamart_rfm / datamart_rfm.std()
datamart_scaled.describe().round(2)

Segmentace zákazníků v Pythonu

Kombinace centrování a škálování

  • Ručně odečtěte průměr a vydělte směrodatnou odchylkou
  • Nebo použijte scaler z knihovny scikit-learn (vrací objekt 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.]
Segmentace zákazníků v Pythonu

Vyzkoušejte různé přístupy sami!

Segmentace zákazníků v Pythonu

Preparing Video For Download...