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

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

Réduire l'asymétrie avec une transformation log

# Première option : transformation logarithmique
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 par log

Pairplot après transformation log

Machine Learning pour le marketing en Python

Réduire l'asymétrie avec la transformation Box-Cox

# Deuxième option : transformation de 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 pour le marketing en Python

Explorer les données transformées par Box-Cox

Pairplot Box-Cox

Machine Learning pour le marketing en Python

Mettre les données à l'échelle

  • Soustraire la moyenne de 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...