Centralizando e escalonando variáveis

Segmentação de Clientes em Python

Karolis Urbonas

Head of Data Science, Amazon

Identificando um problema

  • Analise estatísticas-chave do dataset
  • Compare média e desvio padrão
datamart_rfm.describe()

Segmentação de Clientes em Python

Centralizando variáveis com médias diferentes

  • K-means funciona bem com variáveis com a mesma média
  • Centralizar é subtrair a média de cada observação
datamart_centered = datamart_rfm - datamart_rfm.mean()
datamart_centered.describe().round(2)

Segmentação de Clientes em Python

Escalonando variáveis com variâncias diferentes

  • K-means funciona melhor com mesma variância/desvio padrão
  • Escalonar é dividir pelo desvio padrão de cada variável
datamart_scaled = datamart_rfm / datamart_rfm.std()
datamart_scaled.describe().round(2)

Segmentação de Clientes em Python

Combinando centralização e escalonamento

  • Subtraia a média e divida pelo desvio padrão manualmente
  • Ou use um scaler da biblioteca scikit-learn (retorna um objeto 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.]
Segmentação de Clientes em Python

Teste diferentes abordagens por conta própria!

Segmentação de Clientes em Python

Preparing Video For Download...