Czy jest jakiś sposób na określenie optymalnej liczby klastrów, czy powinienem po prostu wypróbować różne wartości i sprawdzić poziomy błędów, aby wybrać najlepszą wartość?
19
Czy jest jakiś sposób na określenie optymalnej liczby klastrów, czy powinienem po prostu wypróbować różne wartości i sprawdzić poziomy błędów, aby wybrać najlepszą wartość?
R
) tutaj: stackoverflow.com/a/15376462/1036500Odpowiedzi:
Używam metody CCC (Cubic Clustering Criteria). Poszukuję, aby CCC wzrosło do maksimum, gdy zwiększam liczbę klastrów o 1, a następnie obserwuję, kiedy CCC zaczyna spadać. W tym momencie biorę liczbę klastrów na (lokalnym) maksimum. Byłoby to podobne do używania wykresu piaskowego do wybierania liczby głównych składników.
Raport techniczny SAS A-108 Kryterium sześciennych klastrów ( pdf )
n k k p q X n × p M q × p Z z i k = 1 i kn = liczba obserwacji = liczba w klastrze = liczba zmiennych = liczba klastrów = macierz danych = macierz klastrów oznacza = wskaźnik skupienia ( jeśli obs. w klastrze , 0 w przeciwnym razie)
nk k
p
q
X n × p
M. q× p
Z zja k= 1 ja k
Załóżmy, że każda zmienna ma średnią 0: ,Z′Z= diag ( n1, ⋯ , nq) M.= ( Z′Z) - 1 Z′X
M = ( Z ′ Z ) - 1 Z ′ X
T X ′ X S S B M ′ Z ′ Z M S S W T - BS.S. Macierz (ogółem) = = (między klastrami) macierz = = (wewnątrz klastrów) macierz = =T. X′X
S.S. b M.′Z′ZM.
S.S. W. T.- B.
(trace = suma elementów ukośnych)
Ułóż kolumny w jedną długą kolumnę. Dokonaj regresji na produkcie Kroneckera dla z macierzą tożsamości Oblicz Oblicz dla tej regresji - to samoZ p × p R 2 R 2X
Z p × p
R2) R2)
Ideą CCC jest porównanie otrzymanego dla danego zestawu klastrów z uzyskanym przez zgrupowanie równomiernie rozmieszczonego zestawu punktów w przestrzeni wymiarowej.R 2 pR2) R2) p
źródło