Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Implementering på Dummy-Dataset | K-Means
Klusteranalys

bookImplementering på Dummy-Dataset

Du kommer nu att gå igenom ett praktiskt exempel på tillämpning av K-means-klustring. För detta kommer du att använda en dummy-datamängd. Dummy-datamängder är konstgjorda datamängder som ofta används för demonstration och inlärningssyften. De gör det möjligt för oss att kontrollera datamängdens egenskaper och tydligt observera hur algoritmer som K-means presterar.

Dummy-datamängd

För denna demonstration kommer vi att skapa en dummy-datamängd med hjälp av funktionen make_blobs(). Denna funktion är utmärkt för att generera kluster av datapunkter på ett visuellt tydligt och kontrollerbart sätt. Vi kommer att generera data med följande egenskaper:

  • Antal observationer: vi kommer att skapa en datamängd med 300 datapunkter;

  • Antal center: vi kommer att ange antalet verkliga kluster till 4. Detta innebär att dummy-datan är utformad för att ha fyra distinkta grupper;

  • Klusterstandardavvikelse: vi kommer att kontrollera spridningen av datapunkter inom varje kluster och sätta den till 0.60 för relativt kompakta kluster;

  • Slumptalsfrö: vi kommer att använda ett fast random_state för reproducerbarhet, vilket säkerställer att datagenereringen är konsekvent varje gång du kör koden.

X, y_true = make_blobs(n_samples=300,
                       centers=4,
                       cluster_std=0.60,
                       random_state=0)

K-means-implementering

Med denna dummy-data skapad kommer vi sedan att tillämpa K-means-algoritmen. Vi kommer att undersöka hur K-means försöker dela upp denna data i kluster baserat på de principer du lärt dig i tidigare kapitel.

K-means kan initieras och tränas enligt följande i Python:

kmeans = KMeans(n_clusters=k, random_state=42) 
kmeans.fit(X)

För att bestämma det optimala antalet kluster för denna data kommer vi att använda de metoder som diskuterats i tidigare kapitel:

  • WSS-metoden: vi kommer att beräkna Within-Sum-of-Squares för olika värden på K och analysera elbow-diagrammet för att identifiera ett potentiellt optimalt K;

  • Silhouette score-metoden: vi kommer att beräkna Silhouette Score för olika värden på K och undersöka Silhouette-diagrammet samt genomsnittliga Silhouette-värden för att hitta det K som maximerar klusterkvaliteten.

Slutligen kommer visualiseringar att spela en avgörande roll i vår implementering. Vi kommer att visualisera:

  • Själva dummy-datan, för att se den inneboende klusterstrukturen;

  • WSS-diagrammet, för att identifiera elbow-punkten;

  • Silhouette-diagrammet, för att bedöma klusterkvalitet för olika K-värden;

  • De slutliga K-means-klustren överlagda på dummy-datan, för att visuellt verifiera klustringsresultaten och det valda optimala K.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 2.94

bookImplementering på Dummy-Dataset

Svep för att visa menyn

Du kommer nu att gå igenom ett praktiskt exempel på tillämpning av K-means-klustring. För detta kommer du att använda en dummy-datamängd. Dummy-datamängder är konstgjorda datamängder som ofta används för demonstration och inlärningssyften. De gör det möjligt för oss att kontrollera datamängdens egenskaper och tydligt observera hur algoritmer som K-means presterar.

Dummy-datamängd

För denna demonstration kommer vi att skapa en dummy-datamängd med hjälp av funktionen make_blobs(). Denna funktion är utmärkt för att generera kluster av datapunkter på ett visuellt tydligt och kontrollerbart sätt. Vi kommer att generera data med följande egenskaper:

  • Antal observationer: vi kommer att skapa en datamängd med 300 datapunkter;

  • Antal center: vi kommer att ange antalet verkliga kluster till 4. Detta innebär att dummy-datan är utformad för att ha fyra distinkta grupper;

  • Klusterstandardavvikelse: vi kommer att kontrollera spridningen av datapunkter inom varje kluster och sätta den till 0.60 för relativt kompakta kluster;

  • Slumptalsfrö: vi kommer att använda ett fast random_state för reproducerbarhet, vilket säkerställer att datagenereringen är konsekvent varje gång du kör koden.

X, y_true = make_blobs(n_samples=300,
                       centers=4,
                       cluster_std=0.60,
                       random_state=0)

K-means-implementering

Med denna dummy-data skapad kommer vi sedan att tillämpa K-means-algoritmen. Vi kommer att undersöka hur K-means försöker dela upp denna data i kluster baserat på de principer du lärt dig i tidigare kapitel.

K-means kan initieras och tränas enligt följande i Python:

kmeans = KMeans(n_clusters=k, random_state=42) 
kmeans.fit(X)

För att bestämma det optimala antalet kluster för denna data kommer vi att använda de metoder som diskuterats i tidigare kapitel:

  • WSS-metoden: vi kommer att beräkna Within-Sum-of-Squares för olika värden på K och analysera elbow-diagrammet för att identifiera ett potentiellt optimalt K;

  • Silhouette score-metoden: vi kommer att beräkna Silhouette Score för olika värden på K och undersöka Silhouette-diagrammet samt genomsnittliga Silhouette-värden för att hitta det K som maximerar klusterkvaliteten.

Slutligen kommer visualiseringar att spela en avgörande roll i vår implementering. Vi kommer att visualisera:

  • Själva dummy-datan, för att se den inneboende klusterstrukturen;

  • WSS-diagrammet, för att identifiera elbow-punkten;

  • Silhouette-diagrammet, för att bedöma klusterkvalitet för olika K-värden;

  • De slutliga K-means-klustren överlagda på dummy-datan, för att visuellt verifiera klustringsresultaten och det valda optimala K.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
some-alt