Wie viele Cluster?

Cluster Analysis in Python

Shaumik Daityari

Business Analyst

Wie findet man das richtige k?

  • Es gibt keine absolute Methode, um das richtige k bei k-means zu finden
  • Elbow-Methode

Cluster Analysis in Python

Verzerrungen: Rückblick

  • Verzerrung: Summe der quadrierten Abstände der Punkte zu den Clusterzentren
  • Sinkt mit steigender Clusterzahl
  • Wird null, wenn die Clusterzahl der Punktzahl entspricht
  • Elbow-Plot: Liniendiagramm zwischen Clusterzahl und Verzerrung

Cluster Analysis in Python

Elbow-Methode

  • Elbow-Plot: Darstellung von Clusterzahl und Verzerrung
  • Hilft, die Clusterzahl in den Daten abzuschätzen
Cluster Analysis in Python

Elbow-Methode in 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()
Cluster Analysis in Python

Cluster Analysis in Python

Zum Schluss: Elbow-Methode

  • Liefert nur einen Hinweis auf das optimale k (Anzahl Cluster)
  • Zeigt nicht immer eindeutig, wie viele k (Anzahl Cluster)
  • Weitere Methoden: durchschnittliche Silhouette und Gap-Statistik
Cluster Analysis in Python

Als Nächstes: Übungen

Cluster Analysis in Python

Preparing Video For Download...