Кластеризация схожих массивов

Приветствую! Столкнулся с такой проблемой: передо мной стоит задача нечеткой кластеризации неких пользовательских запросов на основе схожести людей их задававших. В моих данных каждому запросу в однозначное соответствие поставлен массив людей, которые обращались в систему с таким запросом. Для лучшей иллюстрации приведу пример (xls) . В файле каждому запросу Query в соответствие поставлен массив размерностью 25, но на практике размерность может различаться, все зависит от того сколько человек обращались с таким запросом. Необходимо произвести нечеткую кластеризацию на основе степени похожести массивов. Мой вопрос в том какой алгоритм кластеризации лучше всего использовать для этой задачи, возможно в составе уже существующих библиотек Data Mining'a (на C# или Python), а также с чего стоит начать, например, каким образом рассчитать расстояние между объектами.
  • Вопрос задан
  • 3408 просмотров
Пригласить эксперта
Ответы на вопрос 2
Если кол-во данных позволяет, посчитайте кол-во общих пользователей "С" между анализируемым запросом и референсным. Если длина исходных выборок (25 в Вашем примере) может сильно варьироваться (обозначим "N[0]" для анализируемой и "N[i]" для референсной), то наверное имеет смысл это число еще и отнормировать, например, "2*C/(N[0]+N[i])" или "C/SQRT(N[0]*N[i])" или "С/N[0]+C/N[i]".

Если кол-во данных не позволяет ("С" статистически близко к "0"), то возможно будет оправданно "расширить круг" исследуемого запроса и референсного, включив в их выборки (естественно уже с весами, отражающими частоты) другие запросы, которыми интересовались люди, которые интересовались исследуемым и референсным запросами (порознь). Пройдет ли такой маневр - зависит от предметной области, то есть семантических связей между пользователями и запросами.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы