Міра якості кластеризації


17

У мене є алгоритм кластеризації (не k-означає) з вхідним параметром (кількість кластерів). Після виконання кластеризації я хотів би отримати деякий кількісний показник якості цього кластеризації. Алгоритм кластеризації має одну важливу властивість. Для якщо я подаю точок даних без будь-якої суттєвої різниці між ними до цього алгоритму, я отримаю один кластер, що містить точки даних і один кластер з точкою даних. Очевидно, це не те, чого я хочу. Тому я хочу обчислити цю міру якості, щоб оцінити обґрунтованість цієї кластеризації. В ідеалі я зможу порівняти ці заходи для різних . Тому я запустити кластеризацію в діапазоні kkk=2NN11kkі виберіть той, який найкращої якості. Як обчислити таку міру якості?

ОНОВЛЕННЯ:

Ось приклад, коли (N1,1) є поганою групуванням. Скажімо, на площині, що утворює рівносторонній трикутник, є 3 точки. Розбиття цих точок на 2 кластери, очевидно, гірше, ніж розділення їх на 1 або 3 кластери.


Для мене це не очевидно. Я бачу кластери, які насправді весь час мають різні розміри ...
Anonymous-Mousse - Відновити Моніку

Відповіді:


12

Вибір метрики швидше залежить від того, яку ви вважаєте метою кластеризації. Особисто я вважаю, що кластеризація повинна стосуватися виявлення різних груп спостережень, які були породжені різним процесом генерування даних. Тож я би перевірив якість кластеризації, генеруючи дані з відомих процесів генерування даних, а потім підрахував, як часто шаблони кластеризуються неправильно. Звичайно, це передбачало припущення про розподіл шаблонів з кожного генеруючого процесу, але ви можете використовувати набори даних, призначені для контрольованої класифікації.

Інші розглядають кластеризацію як спробу згрупувати спільно точки з аналогічними значеннями атрибутів, і в цьому випадку застосовуються такі заходи, як SSE тощо. Однак я вважаю, що це визначення кластеризації є досить незадовільним, оскільки воно лише розповідає про конкретний зразок даних, а не про щось загальне про базові розподіли. Як методи боротьби з кластерами, що перекриваються, є особливою проблемою в цьому погляді (для перегляду "процес генерування даних" це не викликає реальної проблеми, ви просто отримуєте ймовірність членства в кластері).


3
+1 для виділення відмінності між кластеризацією на основі моделі та суто непідконтрольним кластеризації на основі відстані.
chl

1
Я думаю, що обидві цілі мають своє справедливе використання в різних умовах. Ви насправді робите багато контексту, щоб лише переглядати дані, що є під рукою (наприклад, визначення зовнішності). Крім того, перш ніж мати можливість дістатися до різних процесів генерування даних, вам потрібно вивчити, що найкраще виконати з вашим другим визначенням ...
Етьєн Низький Декарі

Я згоден Етьєн, що обидва методи мають своє використання. Однак я також хотів би сказати, що спостереження є зовнішнім чи ні неявно припускає деякі припущення щодо процесу генерування даних, тому друга форма кластеризації - це, мабуть, лише перший крок у розумінні даних, коли ви намагаєтесь зорієнтуватися.
Дікран Марсупіал

4

Оскільки кластеризація не контролюється, важко апріорі знати, що найкраще кластеризація. Це тема дослідження. Гері Кінг, відомий кількісний соціолог, має статтю на цю тему.


+! Так; @Max Що ти маєш на увазі у цьому "очевидному" кластеризації?

@mbq: Насправді я не знаю, що було б для цього хорошим групуванням. Під "очевидним" враженням, що (N-1, 1), безумовно, не є гарною групуванням для цього. Кращою кластеризацією був би лише один кластер, тому кластеризації взагалі немає. Або, можливо, кілька кластеризацій із кількістю кластерів більше 2.
Макс

Ви посилаєтесь, що посилання порушено.
Етьєн Низький Декарі

Ось оновлене посилання на статтю: gking.harvard.edu/files/abs/discov-abs.shtml
Dolan Antenucci

4

Тут у вас є пара заходів, але є ще багато:

SSE: сума квадратної помилки з елементів кожного кластеру.

Між кластерна відстань: сума квадратної відстані між кожним центроїдом кластера.

Внутрішня відстань кластера для кожного кластера: сума квадратної відстані від елементів кожного кластера до його центрального центру.

Максимальний радіус: найбільша відстань від екземпляра до його центрального кластера.

Середній радіус: сума найбільшої відстані від екземпляра до центру його кластера, поділена на кількість кластерів.


Я намагався використовувати внутрішнє міжмісцеве відстань, але не міг придумати щось корисне для кластера з однією точкою. Також у мене немає центральної точки. У мене лише відстані між точками.
Макс

Чим вище відстань між кластерами, тим краще, ви можете виміряти його, обчисливши відстані між центром кластерів.
mariana soffer

4

Ви зіткнулися з зоною перевірки кластеризації. Мій учень робив валідацію, використовуючи методи, описані в:

А. Банерджі та Р. Н. Дейв. Перевірка кластерів за допомогою статистики Хопкінса. 2004 р. Міжнародна конференція IEEE з нечітких систем IEEE Cat No04CH37542, 1: с. 149–153, 2004.

Він заснований на принципі, що якщо кластер дійсний, то точки даних розподіляються рівномірно всередині кластеру.

Але перед цим слід визначити, чи є у ваших даних якась так звана тенденція кластеризації, тобто чи варто кластеризувати та оптимальну кількість кластерів:

С. Саїтта, Б. Рафаель та ІФК Сміт. Комплексний індекс дійсності для кластеризації. Intell. Аналіз даних, 12 (6): с. 529–548, 2008.


3

Як зазначали інші, існує багато заходів кластеризації "якості"; більшість програм мінімізують SSE. Жодне єдине число не може сказати багато про шум у даних, або шум у методі, або плоскі мінімуми - низькі точки в Саскачевані.

Тому спочатку спробуйте візуалізувати, відчути дану кластеризацію, перш ніж зменшити її до "41". Потім зробіть 3 пробіжки: отримуєте SSE 41, 39, 43 або 41, 28, 107? Які розміри та радіуси кластера?

(Додано :) Погляньте на силуетні сюжети та силуетні оцінки, наприклад, у книзі Ізенмана, Сучасні багатоваріантні статистичні методи (2008, 731p, isbn 0387781889).


3

Силует може бути використаний для оцінки результатів кластеризації. Це робиться шляхом порівняння середньої відстані в кластері із середньою відстані до точок найближчого кластера.


2

Такий метод, як той, що використовується у непідконтрольному випадковому лісі.

Алгоритми випадкових лісів розглядають непідконтрольну класифікацію як проблему двох класів, були цілком різні штучні і випадкові набори даних створюються з першого набору даних шляхом видалення структури залежності в даних (рандомізація).

Потім ви можете створити такий штучний і випадковий набір даних, застосувати модель кластеризації та порівняти метрику вибору (наприклад, SSE) у своїх справжніх даних та своїх випадкових даних.

Змішування в рандомізації, перестановці, завантаженні, мішкуванні та / або підключенні кранів може дати вам міру, аналогічну значенню Р, вимірюючи кількість разів, коли дана модель кластеризації дає менші значення для справжніх даних, ніж ваші випадкові дані, використовуючи метрику вибір (наприклад, SSE або передбачення помилок у сумці).

Таким чином, ваш показник - це різниця (ймовірність, різниця розмірів, ...) у будь-якій метриці вибору між правдивими та випадковими даними.

Ітерація цього для багатьох моделей дозволить вам розрізняти моделі.

Це можна реалізувати в Р.

Випадковий ліс доступний в R


+1, мені подобається ця ідея; однак, рандомізація / перестановка даних порушує лише співвідношення b / t змінних, це не буде працювати, якщо є кластеризація w / ia однієї змінної.
gung - Відновіть Моніку

1

Якщо алгоритм кластеризації не є детермінованим, то спробуйте виміряти «стабільність» кластерів - з’ясуйте, як часто кожне два спостереження належить одному кластеру. Це загалом цікавий метод, корисний для вибору алгоритму k в kmeans.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.