Python Academy · Les

K-means-clusteringproject

Toepassen op een echte dataset

Les 3 van 510 stappen

K-means-clusteringproject is een gratis Python Academy-les op CoddyKit. Dit is les 3 van 5. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Python Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Python Academy bevat in totaal 5 lessen.

K-Means-clusteringproject

In dit project passen we K-Means-clustering toe op een gegevensset uit de echte wereld: klantsegmentatie. Het doel is om klanten te groeperen op basis van hun bestedingspatronen.

K-means-clusteringproject — illustratie 1

Overzicht van de gegevensset

De gegevensset bevat de volgende kolommen:

  • Klant-ID: Unieke identificatie voor elke klant.
  • Leeftijd: Leeftijd van de klant.
  • Jaarinkomen: Jaarinkomen in duizenden dollars.
  • Bestedingsscore: Een score die wordt toegekend op basis van klantgedrag en bestedingspatronen (1–100).

Stap 1: De gegevensset en bibliotheken importeren

We beginnen met het importeren van de benodigde bibliotheken en het laden van de gegevensset:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())

Stap 2: Gegevens voorbewerken

We selecteren relevante kenmerken voor clustering en normaliseren de gegevens indien nodig. Voor dit project gebruiken we Jaarinkomen en Bestedingsscore:

# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])

Stap 3: Het optimale aantal clusters bepalen

We gebruiken de elleboogmethode om het optimale aantal clusters te vinden. Daartoe zetten we de som van kwadraten binnen clusters (WCSS) uit voor verschillende waarden van K:

wcss = []
for i in range(1, 11):
    kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
    kmeans.fit(X)
    wcss.append(kmeans.inertia_)

plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()

Stap 4: K-Means-clustering toepassen

Op basis van de elleboogmethode kiezen we het optimale aantal clusters (bijvoorbeeld K=5) en trainen we het K-Means-model:

kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)

# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())

Stap 5: De clusters visualiseren

We kunnen de clusters in een tweedimensionale ruimte uitzetten om hun onderlinge scheiding te bekijken:

plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()

Stap 6: De clusters interpreteren

Elk cluster vertegenwoordigt een groep klanten met vergelijkbare bestedingspatronen. Bijvoorbeeld:

  • Cluster 1: Hoog inkomen, hoge bestedingen.
  • Cluster 2: Laag inkomen, lage bestedingen.
  • Cluster 3: Gemiddeld inkomen, hoge bestedingen.

Uitdagingen bij clustering in de echte wereld

Hoewel clustering krachtig is, brengen toepassingen in de echte wereld uitdagingen met zich mee, zoals:

  • Gegevenssets met veel dimensies.
  • Gegevens met ruis of ontbrekende gegevens.
  • Clusterresultaten op een betekenisvolle manier interpreteren.

Samenvatting en volgende stappen

In dit project hebben we:

  • Een gegevensset uit de echte wereld onderzocht.
  • K-Means-clustering toegepast en de resultaten gevisualiseerd.
  • De clusters geïnterpreteerd om klantgedrag te begrijpen.

Vervolgens leren we over technieken voor dimensionaliteitsreductie, zoals PCA en t-SNE.

K-means-clusteringproject — illustratie 10
Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
76
Lessen
320

Veelgestelde vragen

Is de les “K-means-clusteringproject” gratis?

Ja — de volledige tekst van “K-means-clusteringproject” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Python Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Python Academy bevat in totaal 5 lessen.

Wat leer ik in “K-means-clusteringproject”?

Toepassen op een echte dataset Je oefent met Python Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Python Academy te beginnen?

Ervaring vooraf is niet nodig. Python Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 5.

Hoe lang duurt de les “K-means-clusteringproject”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Python Academy?

Ja. Elke les over Python Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Inleiding tot clusteringalgoritmen
  2. K-means-clustering
  3. K-means-clusteringproject
  4. De basis van dimensionaliteitsreductie
  5. Dimensionaliteitsreductie toepassen
← Terug naar Python Academy