Preparação de dados para segmentação

Machine Learning para Marketing em Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Premissas dos modelos

  • Primeiro, vamos começar com K-means
  • A clusterização K-means funciona bem quando os dados são: 1) ~normalmente distribuídos (sem assimetria) e 2) padronizados (média = 0, desvio padrão = 1)
  • O segundo modelo — NMF — pode ser usado em dados brutos, especialmente se a matriz for esparsa
Machine Learning para Marketing em Python

Remover assimetria com transformação log

# Primeira opção - transformação logarítmica
wholesale_log = np.log(wholesale)
sns.pairplot(wholesale_log, diag_kind='kde')
plt.show()
Machine Learning para Marketing em Python

Explorar dados com log-transform

Pairplot com log-transform

Machine Learning para Marketing em Python

Remover assimetria com Box-Cox

# Segunda opção - transformação Box-Cox
from scipy import stats

def boxcox_df(x):
    x_boxcox, _ = stats.boxcox(x)
    return x_boxcox

wholesale_boxcox = wholesale.apply(boxcox_df, axis=0)
sns.pairplot(wholesale_boxcox, diag_kind='kde')
plt.show()
Machine Learning para Marketing em Python

Explorar dados transformados por Box-Cox

Pairplot Box-Cox

Machine Learning para Marketing em Python

Escalonar os dados

  • Subtrair a média da coluna de cada valor
  • Dividir cada valor pelo desvio padrão da coluna
  • Vamos usar o módulo StandardScaler() do sklearn
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()

scaler.fit(wholesale_boxcox) wholesale_scaled = scaler.transform(wholesale_boxcox) wholesale_scaled_df = pd.DataFrame(data=wholesale_scaled, index=wholesale_boxcox.index, columns=wholesale_boxcox.columns) wholesale_scaled_df.agg(['mean','std']).round()
      Fresh  Milk  Grocery  Frozen  Detergents_Paper  Delicassen
mean   -0.0   0.0      0.0     0.0              -0.0         0.0
std     1.0   1.0      1.0     1.0               1.0         1.0
Machine Learning para Marketing em Python

Vamos praticar!

Machine Learning para Marketing em Python

Preparing Video For Download...