Toteutus Esimerkkiaineistolla
Tässä osiossa käydään läpi käytännön esimerkki K-means-klusteroinnin soveltamisesta. Tätä varten käytetään keinotekoista (dummy) datasarjaa. Keinotekoiset datasarjat ovat keinotekoisesti luotuja aineistoja, joita käytetään usein havainnollistamiseen ja oppimiseen. Niiden avulla voidaan kontrolloida datan ominaisuuksia ja havainnoida selkeästi, miten algoritmit, kuten K-means, toimivat.
Keinotekoinen datasarja
Tässä esimerkissä luodaan keinotekoinen datasarja make_blobs()
-funktiolla. Tämä funktio soveltuu erinomaisesti datapisteiden klustereiden tuottamiseen visuaalisesti selkeällä ja hallittavalla tavalla. Data luodaan seuraavilla ominaisuuksilla:
-
Näytteiden määrä: luodaan datasarja, jossa on
300
datapistettä; -
Keskusten määrä: todellisten klustereiden määrä asetetaan arvoon
4
. Tämä tarkoittaa, että keinotekoinen data sisältää neljä erillistä ryhmää; -
Klusterin keskihajonta: säädetään datapisteiden hajontaa kunkin klusterin sisällä, arvoksi asetetaan
0.60
melko tiiviille klustereille; -
Satunnaissiementäminen: käytetään kiinteää
random_state
-arvoa toistettavuuden varmistamiseksi, jolloin datan generointi on aina samanlaista.
X, y_true = make_blobs(n_samples=300,
centers=4,
cluster_std=0.60,
random_state=0)
K-means-toteutus
Kun keinotekoinen data on luotu, sovelletaan siihen K-means-algoritmia. Tarkastellaan, miten K-means pyrkii jakamaan datan klustereihin aiemmissa luvuissa opittujen periaatteiden mukaisesti.
K-means voidaan alustaa ja opettaa Pythonissa seuraavasti:
kmeans = KMeans(n_clusters=k, random_state=42)
kmeans.fit(X)
Optimaalisen klusterimäärän määrittämiseksi käytetään aiemmissa luvuissa käsiteltyjä menetelmiä:
-
WSS-menetelmä: lasketaan Within-Sum-of-Squares eri K-arvoille ja analysoidaan elbow-kuvaajaa mahdollisen optimaalisen K:n löytämiseksi;
-
Silhouette-pistemäärämenetelmä: lasketaan Silhouette Score eri K-arvoille ja tarkastellaan Silhouette-kuvaajaa sekä keskimääräisiä Silhouette-pisteitä parhaan klusterilaadun saavuttamiseksi.
Lopuksi visualisoinnit ovat keskeisessä roolissa toteutuksessa. Visualisoidaan:
-
Itse keinotekoinen data, jotta nähdään aineiston klusterirakenne;
-
WSS-kuvaaja, jolla tunnistetaan elbow-piste;
-
Silhouette-kuvaaja, jolla arvioidaan klusterien laatua eri K-arvoilla;
-
Lopulliset K-means-klusterit keinotekoisen datan päällä, jotta voidaan visuaalisesti varmistaa klusteroinnin tulokset ja valittu optimaalinen K.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 2.94
Toteutus Esimerkkiaineistolla
Pyyhkäise näyttääksesi valikon
Tässä osiossa käydään läpi käytännön esimerkki K-means-klusteroinnin soveltamisesta. Tätä varten käytetään keinotekoista (dummy) datasarjaa. Keinotekoiset datasarjat ovat keinotekoisesti luotuja aineistoja, joita käytetään usein havainnollistamiseen ja oppimiseen. Niiden avulla voidaan kontrolloida datan ominaisuuksia ja havainnoida selkeästi, miten algoritmit, kuten K-means, toimivat.
Keinotekoinen datasarja
Tässä esimerkissä luodaan keinotekoinen datasarja make_blobs()
-funktiolla. Tämä funktio soveltuu erinomaisesti datapisteiden klustereiden tuottamiseen visuaalisesti selkeällä ja hallittavalla tavalla. Data luodaan seuraavilla ominaisuuksilla:
-
Näytteiden määrä: luodaan datasarja, jossa on
300
datapistettä; -
Keskusten määrä: todellisten klustereiden määrä asetetaan arvoon
4
. Tämä tarkoittaa, että keinotekoinen data sisältää neljä erillistä ryhmää; -
Klusterin keskihajonta: säädetään datapisteiden hajontaa kunkin klusterin sisällä, arvoksi asetetaan
0.60
melko tiiviille klustereille; -
Satunnaissiementäminen: käytetään kiinteää
random_state
-arvoa toistettavuuden varmistamiseksi, jolloin datan generointi on aina samanlaista.
X, y_true = make_blobs(n_samples=300,
centers=4,
cluster_std=0.60,
random_state=0)
K-means-toteutus
Kun keinotekoinen data on luotu, sovelletaan siihen K-means-algoritmia. Tarkastellaan, miten K-means pyrkii jakamaan datan klustereihin aiemmissa luvuissa opittujen periaatteiden mukaisesti.
K-means voidaan alustaa ja opettaa Pythonissa seuraavasti:
kmeans = KMeans(n_clusters=k, random_state=42)
kmeans.fit(X)
Optimaalisen klusterimäärän määrittämiseksi käytetään aiemmissa luvuissa käsiteltyjä menetelmiä:
-
WSS-menetelmä: lasketaan Within-Sum-of-Squares eri K-arvoille ja analysoidaan elbow-kuvaajaa mahdollisen optimaalisen K:n löytämiseksi;
-
Silhouette-pistemäärämenetelmä: lasketaan Silhouette Score eri K-arvoille ja tarkastellaan Silhouette-kuvaajaa sekä keskimääräisiä Silhouette-pisteitä parhaan klusterilaadun saavuttamiseksi.
Lopuksi visualisoinnit ovat keskeisessä roolissa toteutuksessa. Visualisoidaan:
-
Itse keinotekoinen data, jotta nähdään aineiston klusterirakenne;
-
WSS-kuvaaja, jolla tunnistetaan elbow-piste;
-
Silhouette-kuvaaja, jolla arvioidaan klusterien laatua eri K-arvoilla;
-
Lopulliset K-means-klusterit keinotekoisen datan päällä, jotta voidaan visuaalisesti varmistaa klusteroinnin tulokset ja valittu optimaalinen K.
Kiitos palautteestasi!