Préparation des données pour la segmentation

Machine Learning pour le marketing en Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Hypothèses des modèles

  • On commence par K-means
  • Le regroupement K-means fonctionne bien si les données sont 1) ~normales (pas d'asymétrie) et 2) normalisées (moyenne = 0, écart-type = 1)
  • Deuxième modèle : NMF — utilisable sur des données brutes, surtout si la matrice est clairsemée
Machine Learning pour le marketing en Python

Corriger l'asymétrie par transformation logarithmique

# First option - log transformation
wholesale_log = np.log(wholesale)
sns.pairplot(wholesale_log, diag_kind='kde')
plt.show()
Machine Learning pour le marketing en Python

Explorer les données transformées (log)

Nuage de paires après log

Machine Learning pour le marketing en Python

Corriger l'asymétrie avec la transformation de Box-Cox

# Second option - Box-Cox transformation
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 pour le marketing en Python

Explorer les données transformées (Box-Cox)

Nuage de paires Box-Cox

Machine Learning pour le marketing en Python

Mettre les données à l'échelle

  • Soustraire la moyenne de la colonne à chaque valeur
  • Diviser chaque valeur par l'écart-type de la colonne
  • Utiliser le module StandardScaler() de 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 pour le marketing en Python

Passons à la pratique !

Machine Learning pour le marketing en Python

Preparing Video For Download...