Choisir le nombre de clusters

Customer Segmentation in Python

Karolis Urbonas

Head of Data Science, Amazon

Méthodes

  • Méthodes visuelles : critère du coude
  • Méthodes mathématiques : coefficient de silhouette
  • Expérimentation et interprétation
Customer Segmentation in Python

Méthode du coude

  • Tracer le nombre de clusters vs la somme des carrés intra-cluster (SSE) — somme des distances au carré de chaque point à son centre de cluster
  • Identifier un « coude » sur le graphique
  • Le coude indique un nombre de clusters « optimal »
Customer Segmentation in Python

Méthode du coude

# Import key libraries
from sklearn.cluster import KMeans
import seaborn as sns
from matplotlib import pyplot as plt

# Fit KMeans and calculate SSE for each *k* sse = {} for k in range(1, 11): kmeans = KMeans(n_clusters=k, random_state=1) kmeans.fit(data_normalized) sse[k] = kmeans.inertia_ # sum of squared distances to closest cluster center
# Plot SSE for each *k* plt.title('The Elbow Method') plt.xlabel('k'); plt.ylabel('SSE') sns.pointplot(x=list(sse.keys()), y=list(sse.values())) plt.show()
Customer Segmentation in Python

Méthode du coude

Graphique du critère du coude :

Customer Segmentation in Python

Méthode du coude

Graphique du critère du coude :

Customer Segmentation in Python

Utiliser la méthode du coude

  • Choisir idéalement le point du coude, ou le suivant
  • S’en servir de repère et tester plusieurs solutions
  • Graphique du coude basé sur datamart_rfm

Customer Segmentation in Python

Approche expérimentale : analyser les segments

  • Créer des clusters autour de la solution au coude
  • Analyser leurs propriétés : moyennes RFM
  • Comparer et choisir celle au meilleur sens business
Customer Segmentation in Python

Approche expérimentale : analyser les segments

  • Ancienne solution à 2 clusters
  • Solution à 3 clusters sur le même jeu RFM normalisé
Customer Segmentation in Python

Passons à la pratique !

Customer Segmentation in Python

Preparing Video For Download...