Какой метод вы используете для выбора оптимального количества кластеров в k-средних и EM? - PullRequest
13 голосов
/ 22 февраля 2010

Доступно множество алгоритмов кластеризации. Популярным алгоритмом является K-средство, где на основе заданного количества кластеров алгоритм выполняет итерацию для нахождения наилучших кластеров для объектов.

Какой метод вы используете для определения количества кластеров в данных в кластеризации k-средних?

Содержит ли какой-либо пакет, доступный в R, метод V-fold cross-validation для определения правильного количества кластеров?

Другим хорошо используемым подходом является алгоритм максимизации ожиданий (EM), который назначает распределение вероятностей каждому экземпляру, которое указывает вероятность его принадлежности каждому из кластеров.

Реализован ли этот алгоритм в R?

Если это так, имеет ли он возможность автоматического выбора оптимального количества кластеров путем перекрестной проверки?

Вместо этого вы предпочитаете какой-либо другой метод кластеризации?

Ответы [ 2 ]

5 голосов
/ 01 марта 2010

Для больших «редких» наборов данных я бы настоятельно рекомендовал метод «Распространение сродства». Он имеет превосходную производительность по сравнению с k средними и имеет детерминированный характер.

http://www.psi.toronto.edu/affinitypropagation/ Опубликовано в журнале "Наука".

Однако выбор оптимального алгоритма кластеризации зависит от рассматриваемого набора данных. K Means - это метод из учебника, и вполне вероятно, что кто-то разработал лучший алгоритм, более подходящий для вашего типа набора данных /

Это хорошее руководство профессора Эндрю Мура (CMU, Google) по K-средним и иерархической кластеризации. http://www.autonlab.org/tutorials/kmeans.html

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

На прошлой неделе я кодировал такой алгоритм оценки количества кластеров для программы кластеризации K-Means. Я использовал метод, изложенный в:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.70.9687&rep=rep1&type=pdf

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

...