Combien de clusters ?

Analyse de clusters en Python

Shaumik Daityari

Business Analyst

Comment trouver le bon k ?

  • Pas de méthode absolue pour trouver le bon nombre de clusters (k) en k-means
  • Méthode du coude

Analyse de clusters en Python

Rappel sur la distorsion

  • Distorsion : somme des distances au carré des points aux centres de clusters
  • Diminue quand le nombre de clusters augmente
  • Devient nulle quand le nombre de clusters égale le nombre de points
  • Courbe du coude : graphique (ligne) entre nombre de clusters et distorsion

Analyse de clusters en Python

Méthode du coude

  • Courbe du coude : tracé du nombre de clusters vs distorsion
  • Aide à estimer le nombre de clusters dans les données
Analyse de clusters en Python

Méthode du coude en Python

# Declaring variables for use
distortions = []

num_clusters = range(2, 7)
# Populating distortions for various clusters
for i in num_clusters:
    centroids, distortion = kmeans(df[['scaled_x', 'scaled_y']], i)
    distortions.append(distortion)
# Plotting elbow plot data
elbow_plot_data = pd.DataFrame({'num_clusters': num_clusters,
                                'distortions': distortions})

sns.lineplot(x='num_clusters', y='distortions', 
             data = elbow_plot_data)
plt.show()
Analyse de clusters en Python

Analyse de clusters en Python

Dernières remarques sur la méthode du coude

  • N’indique qu’un k optimal approximatif (nombre de clusters)
  • Ne détermine pas toujours précisément le k (nombre de clusters)
  • Autres méthodes : silhouette moyenne et statistique de l’écart (gap)
Analyse de clusters en Python

À suivre : exercices

Analyse de clusters en Python

Preparing Video For Download...