Implementering 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.
Tack för dina kommentarer!
Fråga AI
Fråga AI
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
Implementering 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.
Tack för dina kommentarer!