Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Toteutus Esimerkkiaineistolla | K-Means
Klusterianalyysi

bookToteutus 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) aineistoa. Keinotekoiset aineistot ovat tarkoituksella luotuja tietoaineistoja, joita hyödynnetään usein havainnollistamiseen ja oppimiseen. Näiden avulla voidaan kontrolloida datan ominaisuuksia ja selkeästi havainnoida, miten algoritmit kuten K-means toimivat.

Keinotekoinen aineisto

Tässä esimerkissä luodaan keinotekoinen aineisto make_blobs()-funktiolla. Tämä funktio soveltuu erinomaisesti datapisteiden klustereiden selkeään ja hallittuun luomiseen. Data generoidaan seuraavin ominaisuuksin:

  • Näytteiden määrä: luodaan aineisto, jossa on 300 datapistettä;

  • Keskusten määrä: todellisten klustereiden määrä asetetaan arvoon 4. Tämä tarkoittaa, että aineisto sisältää neljä erillistä ryhmää;

  • Klusterin keskihajonta: säädetään datapisteiden hajontaa kussakin klusterissa, arvoon 0.60 melko tiiviiden klustereiden saavuttamiseksi;

  • 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 aineisto on luotu, sovelletaan siihen K-means-algoritmia. Tarkastellaan, miten K-means pyrkii jakamaan aineiston 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)

Aineistolle optimaalisen klusterimäärän määrittämiseksi käytetään aiemmin käsiteltyjä menetelmiä:

  • WSS-menetelmä: lasketaan Within-Sum-of-Squares eri K-arvoille ja analysoidaan elbow-kuvaajaa optimaalisen K:n tunnistamiseksi;

  • Silhouette-pistemäärämenetelmä: lasketaan Silhouette Score eri K-arvoille ja tarkastellaan Silhouette-kuvaajaa sekä keskimääräisiä Silhouette-pisteitä klusteroinnin laadun maksimoimiseksi.

Lopuksi visualisoinnit ovat keskeisessä roolissa toteutuksessa. Visualisoidaan:

  • Itse keinotekoinen aineisto, jotta nähdään aineiston klusterirakenne;

  • WSS-kuvaaja, jolla tunnistetaan elbow-kohta;

  • Silhouette-kuvaaja, jolla arvioidaan klusteroinnin laatua eri K-arvoilla;

  • Lopulliset K-means-klusterit keinotekoisen aineiston päällä, jotta klusteroinnin tulokset ja valittu optimaalinen K voidaan havainnollistaa visuaalisesti.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain how the elbow method helps determine the optimal number of clusters?

What is the Silhouette score and how is it interpreted in clustering?

Can you walk me through the steps of visualizing the K-means clustering results?

Awesome!

Completion rate improved to 2.94

bookToteutus 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) aineistoa. Keinotekoiset aineistot ovat tarkoituksella luotuja tietoaineistoja, joita hyödynnetään usein havainnollistamiseen ja oppimiseen. Näiden avulla voidaan kontrolloida datan ominaisuuksia ja selkeästi havainnoida, miten algoritmit kuten K-means toimivat.

Keinotekoinen aineisto

Tässä esimerkissä luodaan keinotekoinen aineisto make_blobs()-funktiolla. Tämä funktio soveltuu erinomaisesti datapisteiden klustereiden selkeään ja hallittuun luomiseen. Data generoidaan seuraavin ominaisuuksin:

  • Näytteiden määrä: luodaan aineisto, jossa on 300 datapistettä;

  • Keskusten määrä: todellisten klustereiden määrä asetetaan arvoon 4. Tämä tarkoittaa, että aineisto sisältää neljä erillistä ryhmää;

  • Klusterin keskihajonta: säädetään datapisteiden hajontaa kussakin klusterissa, arvoon 0.60 melko tiiviiden klustereiden saavuttamiseksi;

  • 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 aineisto on luotu, sovelletaan siihen K-means-algoritmia. Tarkastellaan, miten K-means pyrkii jakamaan aineiston 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)

Aineistolle optimaalisen klusterimäärän määrittämiseksi käytetään aiemmin käsiteltyjä menetelmiä:

  • WSS-menetelmä: lasketaan Within-Sum-of-Squares eri K-arvoille ja analysoidaan elbow-kuvaajaa optimaalisen K:n tunnistamiseksi;

  • Silhouette-pistemäärämenetelmä: lasketaan Silhouette Score eri K-arvoille ja tarkastellaan Silhouette-kuvaajaa sekä keskimääräisiä Silhouette-pisteitä klusteroinnin laadun maksimoimiseksi.

Lopuksi visualisoinnit ovat keskeisessä roolissa toteutuksessa. Visualisoidaan:

  • Itse keinotekoinen aineisto, jotta nähdään aineiston klusterirakenne;

  • WSS-kuvaaja, jolla tunnistetaan elbow-kohta;

  • Silhouette-kuvaaja, jolla arvioidaan klusteroinnin laatua eri K-arvoilla;

  • Lopulliset K-means-klusterit keinotekoisen aineiston päällä, jotta klusteroinnin tulokset ja valittu optimaalinen K voidaan havainnollistaa visuaalisesti.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5
some-alt