Чи є спосіб визначити оптимальне число кластера чи мені просто спробувати різні значення та перевірити коефіцієнти помилок, щоб визначити найкраще значення?
R
) тут: stackoverflow.com/a/15376462/1036500
Чи є спосіб визначити оптимальне число кластера чи мені просто спробувати різні значення та перевірити коефіцієнти помилок, щоб визначити найкраще значення?
R
) тут: stackoverflow.com/a/15376462/1036500
Відповіді:
Я використовую метод - використовувати CCC (Критерії кубічної кластеризації). Я шукаю, щоб CCC збільшився до максимуму, оскільки я збільшував кількість кластерів на 1, а потім спостерігаю, коли CCC починає знижуватися. У цей момент я беру кількість кластерів на (локальному) максимумі. Це було б аналогічно використанню сюжетного опису для вибору кількості основних компонентів.
Технічний звіт SAS A-108 Критерій кубічної кластеризації ( pdf )
= кількість спостережень n k = число в кластері k= кількість змінних q = кількість кластерів X = n × p матриця даних M = q × p матриця кластера означає= кластерний показник (якщо прок.в кластері, 0 в іншому випадку)
Z z i k = 1 i k
Припустимо, кожна змінна має значення 0: ,
M = ( Z ′ Z ) - 1 Z ′ X
T X ′ X S S B M ′ Z ′ Z M S S W T - B (загальна) матриця = = (між кластерами) матриця = = (в межах кластерів) матриця = =
(слід = сума діагональних елементів)
Складіть стовпці в один довгий стовпець.
Регрес на добуток Kronecker з з матрицею ідентичності
Обчислити для цієї регресії - те саме
Ідея CCC полягає в тому, щоб порівняти отриманий для заданого набору кластерів з ви отримаєте, кластеризуючи рівномірно розподілений набір точок у мірному просторі.