1D кластеризация с категориальными переменными - PullRequest
0 голосов
/ 16 октября 2019

У меня есть журнальные операции, которые я пытаюсь проанализировать. Для анализа я хотел бы узнать, находится ли пользователь в режиме страницы / навигации или в режиме викторины (определяется, какой вид операций более распространен). Режим задается частотой операций, как показано на следующем рисунке.

Frequency of entries

Я хотел бы найти - если доступно в данных -границы, когда происходит изменение фаз. Конечно, всегда есть некоторые выбросы (например, рассмотрите контрольную точку на 1452 на рисунке).

Я пытался разрывы Дженкса по этому вопросу: красные - это разрывы, основанные на точках навигации, синие - это разрывы, основанные на точках викторины. Мне пришлось установить фиксированное количество бинов, которое я установил на 3. Это, следовательно, не кажется очень удовлетворительным для моей проблемы.

Я также рассмотрел KDE , но и там я быне знаю, как выполнить разбиение.

KDE

Какой подход существует для разделения вышеуказанных данных, говоря мне, что где-то между 2011 и 2049 (то есть,последняя точка навигации и первая точка викторины) есть изменение фазы и где-то между 4189 и 4199 (последняя точка в викторине и первая точка навигации)?

Я использую Python дляанализ данных (и pandas, numpy и т. д.).

1 Ответ

1 голос
/ 17 октября 2019

Используйте KDE. Но подумайте меньше о KMeans («расщепляется») и больше о плотность .

Если там плотность состояния A больше, то пользователь находится в режиме A?

Так что просто сравните там плотности. Попробуйте построить интервалы с одинаковой мажоритарной плотностью.

...