0Pricing
Python Academy · Lekcja

Klasteryzacja metodą K-means

Zrozumienie działania krok po kroku

Klasteryzacja metodą K-means to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 2 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 Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 5 lekcji w sumie.

Klasteryzacja K-Means

Klasteryzacja K-Means

K-Means to jeden z najpopularniejszych algorytmów klasteryzacji. Dzieli dane na z góry określoną liczbę klastrów (K), minimalizując odległości wewnątrzklastrowe.

Działa iteracyjnie, aby znaleźć najlepsze przypisania do klastrów i centroidy.

Klasteryzacja metodą K-means — ilustracja 1

Jak działa K-Means

Jak działa K-Means

Algorytm K-Means działa w następujących krokach:

  1. Inicjalizuje K losowych centroidów.
  2. Przypisuje każdy punkt danych do najbliższego centroidu.
  3. Przelicza centroidy jako średnią wszystkich punktów w klastrze.
  4. Powtarza kroki 2 i 3, aż centroidy się ustabilizują lub zostanie osiągnięta maksymalna liczba iteracji.

Wybór liczby klastrów

Wybór liczby klastrów

Wartość K jest kluczowym parametrem. Do popularnych metod wyboru K należą:

  • Metoda łokcia: Należy wykreślić sumę kwadratów wewnątrz klastrów (WCSS) dla różnych wartości K i znaleźć „punkt łokcia”.
  • Współczynnik sylwetki: Mierzy, jak dobrze klastry są od siebie oddzielone.

Przykładowy zbiór danych dla K-Means

Przykładowy zbiór danych dla K-Means

Rozważmy zbiór danych z punktami rozmieszczonymi w przestrzeni 2D. Każdy punkt ma:

  • X: Współrzędną na osi poziomej.
  • Y: Współrzędną na osi pionowej.

K-Means pogrupuje te punkty w klastry na podstawie ich wzajemnej bliskości.

Implementowanie K-Means w języku Python

Implementowanie K-Means w języku Python

Do zaimplementowania algorytmu użyjemy klasy KMeans z biblioteki scikit-learn:

from sklearn.cluster import KMeans
import numpy as np

# Example dataset
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])

# K-Means model
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)

print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)

Wizualizacja klastrów

Wizualizacja klastrów

Możemy zwizualizować klastry, przedstawiając na wykresie punkty danych i centroidy:

import matplotlib.pyplot as plt

# Scatter plot of data points
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')

# Plot cluster centers
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('K-Means Clustering')
plt.show()

Zalety K-Means

Zalety K-Means

K-Means ma kilka zalet:

  • Jest prosty i łatwy do zaimplementowania.
  • Jest wydajny w przypadku dużych zbiorów danych.
  • Dobrze działa, gdy klastry są wyraźnie zdefiniowane.

Ograniczenia K-Means

Ograniczenia K-Means

Do ograniczeń K-Means należą:

  • Wrażliwość na początkowe rozmieszczenie centroidów.
  • Trudności z obsługą klastrów o kształcie innym niż kulisty.
  • Wrażliwość na wartości odstające i zaszumione dane.

Podsumowanie i kolejne kroki

Podsumowanie i kolejne kroki

W tej lekcji omówiliśmy:

  • Sposób działania klasteryzacji K-Means.
  • Wybór liczby klastrów za pomocą metod takich jak metoda łokcia.
  • Implementowanie i wizualizowanie K-Means w języku Python.

Następnie zastosujemy K-Means do rzeczywistego zbioru danych, aby zdobyć praktyczne doświadczenie.

Klasteryzacja metodą K-means — ilustracja 10

Często zadawane pytania

Czy lekcja „Klasteryzacja metodą K-means” jest bezpłatna?

Tak — pełny tekst „Klasteryzacja metodą K-means” 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 Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 5 lekcji w sumie.

Co nauczysz się w „Klasteryzacja metodą K-means”?

Zrozumienie działania krok po kroku Ćwiczysz Python Academy 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ąć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy 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 2 z 5.

Ile czasu zajmuje lekcja „Klasteryzacja metodą K-means”?

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 Python Academy?

Tak. Każda lekcja Python Academy 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

  1. Wprowadzenie do algorytmów klasteryzacji
  2. Klasteryzacja metodą K-means
  3. Projekt klasteryzacji metodą K-means
  4. Podstawy redukcji wymiarowości
  5. Zastosowanie redukcji wymiarowości
← Powrót do Python Academy