Przypisywanie etykiet klas do klastrów k-oznacza

10

Mam bardzo podstawowe pytanie dotyczące grupowania. Po znalezieniu k klastrów wraz z ich centroidami, jak przejść do interpretacji klas punktów danych, które zgrupowałem (przypisując znaczące etykiety klas do każdego klastra). Nie mówię o walidacji znalezionych klastrów.

Czy można to zrobić, biorąc pod uwagę niewielki zestaw punktów danych, obliczyć, do którego klastra należą te oznaczone punkty i na podstawie typu i liczby punktów, które otrzymuje każdy klaster, zdecydować o etykiecie? Wydaje się to dość oczywiste, ale nie wiem, jak standardowe jest przypisywanie etykiet do klastrów w ten sposób.

Żeby było jasne, chcę wykonywać klastry bez nadzoru, które nie używają żadnych etykiet, aby najpierw znaleźć moje klastry. Następnie, po znalezieniu klastrów, chcę przypisać znaczące etykiety klas do klastrów na podstawie właściwości kilku przykładowych punktów danych.

Riyaz
źródło
Nie jestem pewien, czy rozumiem twoje pytanie: zwykle każdy algorytm k-średnich powinien zwracać informacje o członkostwie w klasie dla każdego punktu danych. Czy mówisz o rzeczywistych punktach danych lub nowych obserwacjach?
chl
@chi Podejrzewam, że Riyaz jest zaniepokojony znalezieniem nazw, którymi można nazwać klastry, i mówi o a priori nazywaniu niektórych punktów, a następnie o użyciu pewnego algorytmu, który uwzględnia przewagę nazwanych punktów w klastrach, aby następnie nazwać te klastry.
Glen_b
2
@Riyaz, czy moglibyśmy zastosować następującą analogię do analizy czynnikowej, aby zrozumieć twoje pytanie? Często ktoś analizuje zestaw zmiennych, aby podzielić je na grupy zmiennych, które wydają się „zawieszać razem”, ale następnie analityk musi pomyśleć o naturze zmiennych, które składają się na każdy klaster, z nazwą / sposób myślenia o tym, co każdy klaster (współczynnik) jest . Czy to w zasadzie to tutaj masz?
gung - Przywróć Monikę

Odpowiedzi:

4

Tak. To, co proponujesz, jest całkowicie standardowe i jest to sposób, w jaki standardowe oprogramowanie k-znaczy działa automatycznie. W przypadku k-średnich obliczasz odległość euklidesową między każdą obserwacją (punkt danych) a każdą średnią skupienia (centroid) i przypisujesz obserwacje do najbardziej podobnego skupienia. Następnie określa się etykietę skupienia, badając tę ​​średnią charakterystykę obserwacji zaklasyfikowanych do skupienia w stosunku do średnich tych względem innych skupień.

Tim
źródło
3

Jeśli spojrzysz na nazwy w obiekcie kmeans, zauważysz, że istnieje obiekt „klastra”. Zawiera etykiety klas uporządkowane tak samo jak dane wejściowe. Oto prosty przykład, który wiąże etykiety klastrów z powrotem z danymi.

x <- data.frame(X=rnorm(100, sd=0.3), Y=rnorm(100, mean=1, sd=0.3))

k <- kmeans(x, 2) 
names(k)
x <- data.frame(x, K=k$cluster)

# You can also directly return the clusters
x <- data.frame(x, K=kmeans(x, 2)$cluster)
Jeffrey Evans
źródło
0

Etykiety dla klastra mogą być oparte na klasie większości próbek w klastrze. Jest to jednak prawdą tylko wtedy, gdy liczba klastrów jest równa liczbie klas.

użytkownik101780
źródło