Klusteranalys: välja optimalt antal kluster

Öva på maskininlärningsintervjufrågor i Python

Lisa Stuart

Data Scientist

Metoder för optimalt k

  • Silhouette-metoden
  • Armbågsmetoden
Öva på maskininlärningsintervjufrågor i Python

Silhouette-koefficient

  • Består av 2 poäng
    • Medeldistans mellan varje observation och alla andra:
      • i samma kluster
      • i närmaste kluster
Öva på maskininlärningsintervjufrågor i Python

Silhouette-koefficientens värden

  • Mellan -1 och 1
    • 1
      • nära andra i samma kluster
      • mycket långt från andra kluster
    • -1
      • inte nära andra i samma kluster
      • nära andra i andra kluster
    • 0
      • indikerar överlappande kluster
Öva på maskininlärningsintervjufrågor i Python

Silhouette-poäng

Silhouette-poängdiagram

1 https://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html
Öva på maskininlärningsintervjufrågor i Python

Armbågsmetoden

Armbågsmetodens diagram

1 https://www.datanovia.com/en/lessons/determining-the-optimal-number-of-clusters-3-must-know-methods/
Öva på maskininlärningsintervjufrågor i Python

Funktioner för val av optimalt k

Funktion/metod returnerar
sklearn.cluster.KMeans K-means klustringsalgoritm
sklearn.metrics.silhouette_score poäng mellan -1 och 1 som mått på klusterstabilitet
kmeans.inertia_ SS-avstånd från observationer till närmaste klustercenter
range(start, stop) lista med värden från start upp till men inte inklusive stop
list.append(kmeans.inertia_) lägger till inertiavärde i listan
Öva på maskininlärningsintervjufrågor i Python

Nu kör vi en övning!

Öva på maskininlärningsintervjufrågor i Python

Preparing Video For Download...