Kolik shluků?

Cluster Analysis in Python

Shaumik Daityari

Business Analyst

Jak najít správné k?

  • Neexistuje absolutní metoda pro určení správného počtu shluků (k) v k-means
  • Metoda lokte

Cluster Analysis in Python

Distorze – opakování

  • Distorze: součet čtverců vzdáleností bodů od středů shluků
  • Klesá s rostoucím počtem shluků
  • Dosáhne nuly, když počet shluků odpovídá počtu bodů
  • Graf lokte: spojnicový graf středů shluků a distorze

Cluster Analysis in Python

Metoda lokte

  • Graf lokte: zobrazení počtu shluků a distorze
  • Graf lokte pomáhá určit počet shluků v datech
Cluster Analysis in Python

Metoda lokte v Pythonu

# 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

Závěry k metodě lokte

  • Poskytuje pouze indikaci optimálního k (počtu shluků)
  • Nepřesně určuje počet k (shluků) vždy
  • Další metody: průměrná silueta a gap statistika
Cluster Analysis in Python

Následují cvičení

Cluster Analysis in Python

Preparing Video For Download...