Clustering algorithm — jak działa grupowanie danych w praktyce
Clustering algorithm to rodzina metod uczenia nienadzorowanego, które dzielą zbiór obserwacji na grupy podobnych elementów, choć nikt wcześniej nie nadał im etykiet. Dobrze dobrany clustering algorithm potrafi z surowej tabeli zamówień wyodrębnić segmenty klientów, z listy czterdziestu tysięcy zapytań zbudować mapę tematyczną serwisu, a z katalogu liczącego dwanaście tysięcy indeksów wyprowadzić spójne kategorie produktowe. Różnica między analitykiem układającym dane ręcznie w arkuszu a zespołem korzystającym z grupowania jest policzalna: poukładanie kilku tysięcy rekordów zajmuje kilkadziesiąt godzin pracy po 120–180 zł, natomiast przygotowany skrypt liczy to samo w kilkanaście minut na maszynie za 40 zł miesięcznie. Poniżej pokazuję, jak działają najczęściej stosowane algorytmy, jak dobrać miarę podobieństwa, jakie błędy psują wyniki oraz jak przełożyć gotowe klastry na decyzje w sklepie internetowym, w projekcie analitycznym i w codziennej pracy nad widocznością witryny.
Jak działa grupowanie i czym różni się od klasyfikacji
Wszystko zaczyna się od reprezentacji: każdy obiekt trzeba opisać wektorem liczb. Dla klienta sklepu będzie to liczba zamówień, średnia wartość koszyka i liczba dni od ostatniego zakupu. Dla artykułu — wektor osadzeń tekstu. Algorytm nie wie, co oznaczają te wymiary; szuka wyłącznie struktury geometrycznej w przestrzeni cech.
Klasyfikacja wymaga zbioru uczącego z gotowymi etykietami, grupowanie działa bez nich. To zmienia sposób oceny: zamiast trafności liczymy współczynnik sylwetki, indeks Daviesa-Bouldina albo bezwładność wewnątrzklastrową. Wartość sylwetki powyżej 0,5 zwykle oznacza czytelny podział, a poniżej 0,25 sygnalizuje, że dane po prostu nie mają wyraźnej struktury skupień.
Kluczowa jest normalizacja. Jeśli jedna kolumna przyjmuje wartości od 0 do 1, a druga od 0 do 90 000, ta druga zdominuje odległość euklidesową i wynik będzie odzwierciedlał wyłącznie ją. Dlatego poprawnie skonfigurowany clustering algorithm zawsze pracuje na cechach przeskalowanych — standaryzacją albo metodą min-max.
Miary odległości i ich konsekwencje
Odległość euklidesowa sprawdza się przy cechach ciągłych o zbliżonej skali. Podobieństwo kosinusowe ignoruje długość wektora, więc lepiej pasuje do tekstu, gdzie liczy się kierunek, a nie objętość dokumentu. Odległość Jaccarda obsługuje zbiory binarne, na przykład listę cech technicznych produktu albo zestaw znaczników w systemie zgłoszeń.
Przegląd algorytmów: k-means, DBSCAN i metody hierarchiczne
k-means jest najszybszy i najprostszy we wdrożeniu: dzieli dane na z góry zadaną liczbę skupień, minimalizując sumę kwadratów odległości od centroidów. Radzi sobie z milionami rekordów, ale zakłada kuliste grupy o podobnej wielkości i źle znosi wartości odstające, które przeciągają centroid w swoją stronę.
DBSCAN nie wymaga podania liczby klastrów. Buduje skupienia z obszarów o wysokiej gęstości, a punkty izolowane oznacza jako szum — to bezcenne przy wykrywaniu anomalii, choćby ruchu botów w logach serwera. Cenę płaci się dwoma parametrami: promieniem sąsiedztwa eps oraz minimalną liczbą punktów w otoczeniu.
Grupowanie hierarchiczne zwraca dendrogram, czyli pełne drzewo zagnieżdżonych podziałów. Można je przyciąć na dowolnym poziomie i otrzymać dwa, siedem albo czterdzieści segmentów bez ponownego liczenia. Wadą jest złożoność obliczeniowa rzędu kwadratu liczby obiektów, przez co powyżej kilkudziesięciu tysięcy rekordów metoda staje się kosztowna.
| Algorytm | Liczba klastrów | Skala danych | Typowe zastosowanie |
|---|---|---|---|
| k-means | zadana z góry | miliony rekordów | segmentacja klientów, grupy cenowe |
| DBSCAN | wykrywana | do kilkuset tysięcy | anomalie i szum w logach |
| Hierarchiczne | wybierana po fakcie | do kilkudziesięciu tysięcy | architektura kategorii, małe zbiory |
| HDBSCAN | wykrywana | setki tysięcy | skupienia o różnej gęstości, teksty |
| Model mieszanin | zadana z góry | setki tysięcy | przypisania miękkie, klienci graniczni |
HDBSCAN łączy zalety obu podejść: wykrywa skupienia o zmiennej gęstości i sam ustala ich liczbę. Model mieszanin gaussowskich zwraca prawdopodobieństwo przynależności zamiast twardego przypisania, co bywa wygodniejsze przy klientach leżących dokładnie na granicy dwóch segmentów.
Grupowanie fraz kluczowych, czyli clustering algorithm w pracy nad widocznością
Największą praktyczną wartość grupowanie ma przy porządkowaniu zapytań. Pozycjonowanie strony na kilkadziesiąt tysięcy fraz bez ich uprzedniego pogrupowania kończy się kanibalizacją: trzy podstrony walczą o ten sam wynik. Klastrowanie po nakładaniu się dziesięciu pierwszych rezultatów pokazuje, które zapytania realnie należą do jednego dokumentu.
Metoda jest prosta: pobierz top 10 dla każdej frazy, potraktuj listę adresów jak zbiór i policz podobieństwo Jaccarda. Próg trzech wspólnych wyników zwykle daje ciasne, bezpieczne grupy, a próg dwóch — szersze klastry tematyczne. Tak zbudowana mapa staje się szkieletem architektury informacji całego serwisu.
Efekt widać w strukturze: klaster o wysokiej intencji zakupowej trafia do kategorii, klaster informacyjny do bloga. Pozycjonowanie strony w google zyskuje wtedy przewidywalny plan publikacji, a osoba odpowiedzialna za projektowanie stron internetowych dostaje gotową mapę nawigacji zamiast listy przypadkowych, luźno powiązanych tematów.

Od klastra do wdrożenia w systemie CMS
Wynik grupowania warto przenieść do systemu zarządzania treścią hurtowo. Po przejściu przez wordpress logowanie do panelu administracyjnego eksport w formacie CSV importuje się jako szkielet kategorii i szkiców wpisów. Jeden klaster to jeden adres URL, jedno zadanie w harmonogramie i jeden mierzalny cel biznesowy.
Klastrowanie katalogu produktów i rekomendacje w sklepie
Sklep z peryferiami jest wdzięcznym przykładem. Zapytania takie jak klawiatura mechaniczna, klawiatura gamingowa mechaniczna oraz klawiatura mechaniczna 60 wyglądają niemal identycznie, lecz wyniki wyszukiwania rozjeżdżają się na trzy odrębne zbiory. Algorytm wykrywa to automatycznie i podpowiada trzy osobne podstrony zamiast jednego przeładowanego listingu.
Ten sam mechanizm porządkuje asortyment. Monitor do komputera opisany matrycą, przekątną, odświeżaniem i ceną trafia do skupienia biurowego albo gamingowego, a tablet graficzny wacom ląduje w grupie sprzętu kreatywnego razem z kolorymetrami i piórami zapasowymi. Progi cenowe wychodzą przy okazji: do 400 zł, 400–1200 zł i powyżej.
Klastry przekładają się wprost na kampanie. W google merchant etykiety niestandardowe pozwalają rozdzielić stawki: grupa o marży 8% dostaje inny budżet niż grupa o marży 30%. Rekomendacje w koszyku również zyskują — system proponuje produkty z tego samego skupienia zamiast losowych bestsellerów z całego sklepu.
Koszty, infrastruktura i typowe błędy wdrożeniowe
Sprzęt rzadko bywa wąskim gardłem. Zbiór stu tysięcy wektorów o dwustu wymiarach mieści się w kilku gigabajtach pamięci, więc maszyna klasy ovh vps z czterema rdzeniami i 8 GB RAM za około 40–60 zł miesięcznie policzy k-means w kilkanaście sekund, a HDBSCAN w kilka minut.
Do rachunku dochodzi warstwa organizacyjna: repozytorium kodu, harmonogram zadań i miejsce na współdzielone arkusze z wynikami. Google workspace cena startuje od kilkunastu złotych za użytkownika miesięcznie, co przy trzyosobowym zespole daje koszt niższy niż jedna godzina pracy analityka. Wynikami trzeba dzielić się w formie czytelnej dla całej firmy.
Najczęstsze potknięcia powtarzają się w niemal każdym projekcie i wszystkie da się wyeliminować przed pierwszym uruchomieniem produkcyjnym. Klaster, którego nie potrafisz nazwać jednym zdaniem, nie nadaje się do wdrożenia — to sygnał, że cechy dobrano źle albo że dane wymagają dodatkowego oczyszczenia.
- brak normalizacji cech o skrajnie różnych zakresach wartości
- przyjęcie liczby skupień z pierwszego, przypadkowego uruchomienia
- mieszanie zmiennych kategorycznych z ciągłymi bez kodowania
- ocena wyniku wyłącznie metryką, bez interpretacji biznesowej
- pozostawienie wartości odstających w metodach centroidowych
Jak dobrać właściwą liczbę klastrów?
Zacznij od trzech niezależnych przesłanek. Pierwsza to metoda łokcia: wykreśl bezwładność dla wartości od dwóch do dwudziestu skupień i poszukaj punktu, w którym spadek wyraźnie hamuje. Druga to współczynnik sylwetki liczony dla tego samego zakresu — wybierz maksimum, ale odrzuć rozwiązania, w których jeden klaster obejmuje ponad 70% obiektów. Trzecia, najważniejsza, jest biznesowa: sprawdź, czy potrafisz nazwać każdą grupę jednym zdaniem i przypisać jej konkretne działanie. Jeśli dwa segmenty prowadzą do identycznej decyzji, połącz je. W praktyce zespoły kończą na pięciu do dziewięciu segmentach, bo tyle wariantów komunikacji da się realnie obsłużyć, opisać i zmierzyć.
Czy clustering algorithm sprawdzi się przy małym zbiorze danych?
Przy kilkudziesięciu rekordach sens ma przede wszystkim grupowanie hierarchiczne, bo pokazuje pełne drzewo podziałów i pozwala ocenić strukturę wzrokowo, bez ślepej wiary w metrykę. k-means na trzydziestu obiektach zwróci wynik, tylko będzie on niestabilny: zmiana ziarna losowego przestawi połowę przypisań. Rozsądny próg to około dziesięciu obserwacji na każdy wymiar cechy — przy ośmiu zmiennych oznacza to minimum osiemdziesiąt rekordów. Gdy danych jest mniej, ogranicz liczbę cech analizą głównych składowych albo zbuduj reguły ręcznie. Małe zbiory mają też przewagę: wynik da się zweryfikować ekspercko w kwadrans, czego przy stu tysiącach rekordów zrobić się nie da.
Co zrobić, gdy wyniki grupowania są niestabilne?
Niestabilność ma zwykle trzy źródła. Pierwsze to losowa inicjalizacja — ustaw stałe ziarno i sięgnij po wariant k-means++, który rozstawia centroidy w sposób powtarzalny i ogranicza wpływ przypadku. Drugie to cechy o różnych skalach albo silnie skorelowane; usuń zdublowaną informację i wykonaj standaryzację przed liczeniem odległości. Trzecie to wartości odstające, które w metodach centroidowych potrafią samodzielnie utworzyć skupienie — odetnij skrajne percentyle albo przejdź na DBSCAN, który traktuje je jako szum. Test kontrolny jest prosty: wylosuj dziesięć podpróbek po 80% danych, powtórz grupowanie i sprawdź, czy przypisania pokrywają się w ponad 85% przypadków.
