Projekt med K-Means-klyngedannelse
Anvendelse på et virkeligt datasæt
Projekt med K-Means-klyngedannelse er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 3 af 5. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 5 lektioner i alt.
Projekt om K-Means-klyngedannelse
I dette projekt anvender vi K-Means-klyngedannelse på et datasæt fra den virkelige verden: kundeopdeling. Målet er at gruppere kunder baseret på deres forbrugsmønstre.

Oversigt over datasættet
Datasættet indeholder følgende kolonner:
- Kunde-id: Entydig identifikator for hver kunde.
- Alder: Kundens alder.
- Årsindkomst: Årsindkomst i tusindvis af dollars.
- Forbrugsscore: En score, der tildeles ud fra kundens adfærd og forbrugsmønstre (1–100).
Trin 1: Import af datasæt og biblioteker
Vi starter med at importere de nødvendige biblioteker og indlæse datasættet:
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())Trin 2: Forbehandling af data
Vi vælger relevante egenskaber til klyngedannelsen og normaliserer om nødvendigt dataene. I dette projekt bruger vi Årsindkomst og Forbrugsscore:
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])Trin 3: Fastlæggelse af det optimale antal klynger
Vi bruger albue-metoden til at finde det optimale antal klynger ved at afbilde summen af kvadraterne inden for klyngerne (WCSS) for forskellige K-værdier:
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()Trin 4: Anvendelse af K-Means-klyngedannelse
På baggrund af albue-metoden vælger vi det optimale antal klynger (f.eks. K=5) og tilpasser K-Means-modellen:
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())Trin 5: Visualisering af klyngerne
Vi kan afbilde klyngerne i et todimensionalt rum for at se, hvordan de er adskilt:
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()Trin 6: Fortolkning af klyngerne
Hver klynge repræsenterer en gruppe kunder med lignende forbrugsmønstre. For eksempel:
- Klynge 1: Høj indkomst, højt forbrug.
- Klynge 2: Lav indkomst, lavt forbrug.
- Klynge 3: Middel indkomst, højt forbrug.
Udfordringer ved klyngedannelse i den virkelige verden
Selvom klyngedannelse er effektiv, møder anvendelser i den virkelige verden udfordringer som:
- Datasæt med mange dimensioner.
- Støjfyldte eller ufuldstændige data.
- Meningsfuld fortolkning af resultaterne for klyngerne.
Opsummering og næste trin
I dette projekt:
- Undersøgte vi et datasæt fra den virkelige verden.
- Anvendte vi K-Means-klyngedannelse og visualiserede resultaterne.
- Fortolkede vi klyngerne for at forstå kundeadfærd.
Derefter lærer vi om teknikker til dimensionsreduktion som PCA og t-SNE.

Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 76
- Lektioner
- 320
Ofte stillede spørgsmål
Er lektionen “Projekt med K-Means-klyngedannelse” gratis?
Ja — hele teksten til “Projekt med K-Means-klyngedannelse” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 5 lektioner i alt.
Hvad lærer jeg i “Projekt med K-Means-klyngedannelse”?
Anvendelse på et virkeligt datasæt Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Python Academy?
Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 5.
Hvor lang tid tager lektionen “Projekt med K-Means-klyngedannelse”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Python Academy-lektion?
Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Introduktion til klyngealgoritmer
- K-Means-klyngedannelse
- Projekt med K-Means-klyngedannelse
- Grundlæggende dimensionsreduktion
- Anvendelse af dimensionsreduktion