Как рассчитать меру общей ошибки в этой кластеризации - PullRequest
1 голос
/ 01 мая 2010

Это вопрос об алгоритме кластеризации k-средних. У меня есть следующие пункты и кластеризация данных S1. Может кто-нибудь сказать мне, как рассчитать общую ошибку, связанную с этой кластеризацией? Я знаю, что это не просто вопрос программирования, но он мне нужен для моего алгоритма. Я думаю, что ответ должен быть 4/3, но я не знаю, как рассчитать это. Кто-нибудь может мне помочь?

x1= (2.0,1.0)
x2= (2.0,2.0)
x3= (1.0,2.0)

S1={ x1, x2, x3 }

Ответы [ 2 ]

2 голосов
/ 02 мая 2010

Есть много способов вычислить ошибку. Вот один.

Сначала вычислите центр тяжести множества, C1 = (x1 + x2 + x3) / 3. Затем вычислите ошибку как сумму расстояний от центроида: E1 = d (C1-x1) + d (C1-x2) + d (C1-x3).

1 голос
/ 21 октября 2010

Мне пришлось искать что-то похожее в последние пару недель. Как и в большинстве случаев, найти правильное имя очень помогло. Вы ищете индекс кластерной достоверности. Я нашел полезным источником для алгоритмов (и связанной математики) главу 17 «Теории кластеризации данных, алгоритмов и приложений» Гана, Ма и Ву. Недорого за $ 100 + от Amazon, но остальная часть книги будет полезна. Несмотря на то, что он охватывает многие из этих индексов, в нем недостаточно подробно обсуждаются сильные и слабые стороны, поэтому вам нужен онлайн-поиск.

В конце концов я попробовал индекс Дэвиса Болдина и индекс Данна. Данн работал лучше, но очень медленно вычислял, потому что я остановился на упрощенной версии, в которой использовались расстояния центроид-центроид (а не составляющие расстояния между точками) и максимальный радиус от центроида, а не истинный диаметр. Пока это работает хорошо для меня.

В большинстве различных индексов используются показатели размера и разделения кластера.

...