Как кластеризовать последовательные категориальные данные в R

Рассмотрим набор данных, в котором пользователи могут выбирать из 3 действий, и у нас есть данные для выбора их первых 10 действий. Пример данных:

for (i in 1:10) 
{
  # sample from list of 3 strings using a set probability
  x <- sample( c("A", "B", "C"), 1000, replace=TRUE, prob=c(0.5, 0.3, 0.2) )
  # assign to variable created on the fly
  assign( paste("cat", i, sep=""), x )
}

first10 <- data.frame(cat1, cat2, cat3, cat4, cat5, cat6, cat7, cat8, cat9, cat10)

Каков наилучший подход в R к кластеризации пользователей в соответствии с последовательностью их действий?

Я просмотрел stackoverflow, и самые похожие вопросы касаются того, как кластеризовать категориальные данные в R (что является частью анализа), но это само по себе не учитывает последовательный характер данных. Существуют ли пакеты R, которые хорошо подходят для этого анализа?


person Runic    schedule 31.08.2015    source источник


Ответы (1)


Ищите частый майнинг набора элементов вместо кластеризации.

Большинство методов кластеризации предназначены для непрерывных числовых данных и предполагают некоторое векторное поле. Они учитывают каждую позицию.

Однако частый паттерн может быть только частью последовательности, последовательность может иметь несколько (или ни одного) из этих паттернов, а между паттернами могут быть промежутки. Все эти свойства обычно желательны.

person Has QUIT--Anony-Mousse    schedule 31.08.2015
comment
Существуют также методы кластеризации категориальных данных, такие как Rmixmod или кластеризация матрицы расстояний на основе расстояния Гауэра. Часто у нас есть смешанный набор данных, где желательна кластеризация. См., например: stats.stackexchange.com/questions/15635/ Я думаю, что предложенный метод интересен, но он решает другой вопрос. Это эквивалентно поиску сильно коррелированных переменных в непрерывном наборе данных (или, возможно, с использованием факторного анализа), но это отличается от создания модели классификации для случаев. - person Runic; 02.09.2015