Projekt klasteryzacji metodą K-średnich
Zastosowanie metody do rzeczywistego zbioru danych.
Projekt klasteryzacji metodą K-średnich to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 3 z 5. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 5 lekcji w sumie.
Projekt klasteryzacji K-Means
Projekt klasteryzacji K-Means
W tym projekcie zastosujemy klasteryzację K-Means do rzeczywistego zbioru danych: segmentacji klientów. Celem jest pogrupowanie klientów na podstawie ich wzorców wydatków.

Przegląd zbioru danych
Przegląd zbioru danych
Zbiór danych zawiera następujące kolumny:
- Identyfikator klienta: Unikalny identyfikator każdego klienta.
- Wiek: Wiek klienta.
- Roczny dochód: Roczny dochód wyrażony w tysiącach dolarów.
- Wynik wydatków: Wynik przypisany na podstawie zachowania klienta i wzorców wydatków (1–100).
Krok 1: Importowanie zbioru danych i bibliotek
Krok 1: Importowanie zbioru danych i bibliotek
Zaczniemy od zaimportowania niezbędnych bibliotek i wczytania zbioru danych:
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())Krok 2: Wstępne przetwarzanie danych
Krok 2: Wstępne przetwarzanie danych
Wybierzemy istotne cechy do klasteryzacji i w razie potrzeby znormalizujemy dane. W tym projekcie użyjemy Rocznego dochodu i Wyniku wydatków:
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])Krok 3: Określanie optymalnej liczby klastrów
Krok 3: Określanie optymalnej liczby klastrów
Używamy metody łokcia, aby znaleźć optymalną liczbę klastrów, wykreślając sumę kwadratów odchyleń wewnątrz klastrów (WCSS) dla różnych wartości 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()Krok 4: Zastosowanie klasteryzacji K-Means
Krok 4: Zastosowanie klasteryzacji K-Means
Na podstawie metody łokcia wybieramy optymalną liczbę klastrów (np. K=5) i dopasowujemy model K-Means:
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())Krok 5: Wizualizowanie klastrów
Krok 5: Wizualizowanie klastrów
Możemy przedstawić klastry na wykresie w przestrzeni 2D, aby zaobserwować ich rozdzielenie:
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()Krok 6: Interpretowanie klastrów
Krok 6: Interpretowanie klastrów
Każdy klaster reprezentuje grupę klientów o podobnych wzorcach wydatków. Na przykład:
- Klaster 1: Wysoki dochód, wysokie wydatki.
- Klaster 2: Niski dochód, niskie wydatki.
- Klaster 3: Umiarkowany dochód, wysokie wydatki.
Wyzwania związane z klasteryzacją w rzeczywistych zastosowaniach
Wyzwania związane z klasteryzacją w rzeczywistych zastosowaniach
Chociaż klasteryzacja jest potężnym narzędziem, jej zastosowania w rzeczywistym świecie wiążą się z wyzwaniami, takimi jak:
- Wielowymiarowe zbiory danych.
- Zaszumione lub niekompletne dane.
- Znacząca interpretacja wyników klasteryzacji.
Podsumowanie i następne kroki
Podsumowanie i następne kroki
W tym projekcie:
- Przeanalizowaliśmy rzeczywisty zbiór danych.
- Zastosowaliśmy grupowanie K-Means i zwizualizowaliśmy wyniki.
- Zinterpretowaliśmy klastry, aby zrozumieć zachowania klientów.
Następnie poznamy techniki redukcji wymiarowości, takie jak PCA i t-SNE.

Często zadawane pytania
Czy lekcja „Projekt klasteryzacji metodą K-średnich” jest bezpłatna?
Tak — pełny tekst „Projekt klasteryzacji metodą K-średnich” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 5 lekcji w sumie.
Co nauczysz się w „Projekt klasteryzacji metodą K-średnich”?
Zastosowanie metody do rzeczywistego zbioru danych. Ćwiczysz Learn AI with Python z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Learn AI with Python?
Nie wymagamy żadnego doświadczenia. Learn AI with Python w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 5.
Ile czasu zajmuje lekcja „Projekt klasteryzacji metodą K-średnich”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Learn AI with Python?
Tak. Każda lekcja Learn AI with Python zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wprowadzenie do algorytmów klasteryzacji
- Klasteryzacja metodą K-średnich
- Projekt klasteryzacji metodą K-średnich
- Podstawy redukcji wymiarowości
- Zastosowanie redukcji wymiarowości