2009-09-23 3 views
9

Я бы хотел использовать correlation clustering, и цифра R - хорошее место для начала.Корреляционная кластеризация в R

Я могу представить данные в R как набор больших разреженных векторов или в виде таблицы с заранее вычисленной матрицей несходства.

Мои вопросы:

  • существуют ли существующие R функции, чтобы превратить это в hierarchical cluster с agnes, который использует correlation clustering?
  • Я должен выполнить функцию (по общему признанию простой) correlation clustering вручную, если да, то как мне заставить ее хорошо играть с agnes?

ответ

7

Я правда очень мало знаю об этой теме, но просто указать вам в направлении:

  • Вы смотрели на пакет кластера? Он имеет очень хорошую документацию. В частности, посмотрите на помощь (agnes) для некоторых предложений. Martin Maechler (член основной группы R) создал пакет и ранее участвовал в обсуждениях переполнения стека, поэтому, надеюсь, он предоставит вам ответ.
  • Функция hclust() является частью пакета статистики. На самом деле, я считаю, что есть планы слияния hclust() и agnes().
  • Вы также можете найти this page from the Bioconductor project helpful.
  • В противном случае вам может быть повезло, глядя на другие пакеты на CRAN Clustering, Natural Language Processing или Machine Learning просмотров.
+0

Спасибо за рекомендации – daveb

+0

Нет проблем. Не стесняйтесь публиковать любые последующие ответы на этот вопрос, когда вы все понимаете! :) – Shane

7

Стандартный подход был бы один, который включает в себя cor(), hclust() и plot.hclust(). Я очень рекомендую heatmap.2 из замечательного пакета gplots.

1

Я пошел к http://www.rseek.org/ и ввел алгоритм agnes и нашел, что пакет CLUSTER на CRAN имеет следующие функции для функции AGNES.

Деталь

Агнес полностью описан в главе 5 из Kaufman и Rousseeuw (1990). По сравнению с другими методами агломерационных кластеризации, такими как hclust, Агнес имеет следующие характеристики: (а) он дает агломерационный коэффициента (см agnes.object), который измеряет количество кластеров структуры найденной; и (б) кроме обычного дерева он также предоставляет баннер , новый графический дисплей (см. plot.agnes).

Алгоритм agnes строит иерархию кластеров . Сначала каждое наблюдение представляет собой небольшой кластер на . Кластеры объединяются до тех пор, пока не останется только один большой кластер, который содержит .На каждом этапе два ближайших кластера: , объединенные для формирования одного большего кластера.

Для метода = «средний», то расстояние между двумя кластерами являются средним в несходстве между точками в одном кластере, а также точки в кластере другого. В методе = «одиночный» мы используем наименьшую несходство между точкой в ​​первом кластере и точкой во втором кластере (ближайший метод сосед). Когда method = "complete", мы используем самую большую несходство между точкой в ​​первом кластере и точкой второго кластера (самый дальний сосед ).

Кластеризация - довольно серьезная тема, и вы найдете много пакетов для R, которые реализуют ее. Когда у вас есть как атрибуты, так и ковариаты, объединение кластеризации с рукоположением иногда может дать больше понимания.

2

Простая в использовании функция agnes в кластере с матрицей несходства. Просто установите аргумент «diss» в значение TRUE.

Если вы можете легко вычислить матрицу несходства вне R, то это может быть путь. В противном случае вы можете просто использовать функцию cor в R для создания матрицы подобия (из которой вы можете получить матрицу различий, вычитая из 1).

Смежные вопросы