Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Implementering på Dummy-datasett | K-Means
Klyngeanalyse med Python

Implementering på Dummy-datasett

Sveip for å vise menyen

Du skal nå gå gjennom et praktisk eksempel på bruk av K-means klynging. For dette formålet vil du bruke et dummy-datasett. Dummy-datasett er kunstig genererte datasett som ofte brukes til demonstrasjon og læring. De gir oss mulighet til å kontrollere egenskapene til dataene og tydelig observere hvordan algoritmer som K-means fungerer.

Dummy-datasett

Til denne demonstrasjonen vil vi lage et dummy-datasett ved hjelp av funksjonen make_blobs(). Denne funksjonen er utmerket for å generere klynger av datapunkter på en visuelt tydelig og kontrollerbar måte. Vi vil generere data med følgende egenskaper:

  • Antall eksempler: vi lager et datasett med 300 datapunkter;

  • Antall sentre: vi setter antall faktiske klynger til 4. Dette betyr at dummy-dataene er laget for å ha fire distinkte grupper;

  • Klyngens standardavvik: vi kontrollerer spredningen av datapunktene innenfor hver klynge, og setter den til 0.60 for relativt kompakte klynger;

  • Random state: vi bruker en fast random_state for reproduserbarhet, slik at datagenereringen er konsistent hver gang du kjører koden.

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

K-means-implementering

Når dette dummy-datasettet er opprettet, vil vi deretter bruke K-means-algoritmen. Vi skal utforske hvordan K-means forsøker å dele opp disse dataene i klynger basert på prinsippene du har lært i tidligere kapitler.

K-means kan initialiseres og trenes slik i Python:

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

For å finne optimalt antall klynger for disse dataene, vil vi benytte metodene som er diskutert i tidligere kapitler:

  • WSS-metoden: vi beregner Within-Sum-of-Squares for ulike verdier av K og analyserer elbow-plottet for å identifisere et mulig optimalt K;

  • Silhouette score-metoden: vi beregner Silhouette Score for ulike verdier av K og undersøker Silhouette-plottet og gjennomsnittlige Silhouette Scores for å finne den K som gir best klyngekvalitet.

Til slutt vil visualiseringer spille en viktig rolle i implementeringen. Vi vil visualisere:

  • Selve dummy-dataene, for å se den innebygde klynge-strukturen;

  • WSS-plottet, for å identifisere elbow-punktet;

  • Silhouette-plottet, for å vurdere klyngekvalitet for ulike K-verdier;

  • De endelige K-means-klyngene lagt over dummy-dataene, for å visuelt verifisere klyngeringsresultatene og det valgte optimale K.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 3. Kapittel 5
some-alt