Я работаю над проблемой кластеризации профилей социальных сетей, и каждый документ профиля представлен числом раз, когда в описании профиля присутствует «срок интереса». Чтобы эффективно выполнять кластеризацию, я пытаюсь найти правильную меру подобия (или функцию расстояния) между двумя профилями.вычисляет сходство между двумя профилями для числа общих черт
Так позволяет сказать, что я следующий таблицей профилей
basketball cricket python
profile1 4 2 1
profile2 2 1 3
profile3 2 1 0
Теперь, идя путем вычисления евклидова расстояния, я получаю
distance (profile1,profile2) = 3
distance (profile2,profile3) = 3
distance (profile3,profile1) = 2.45
Теперь, это прекрасно, но есть два вопроса, приезжающие в мой разум
Здесь мы не обращаем внимания на количество функций, которые являются общими, например, хотя профиль 1 и профиль 3 находятся ближе всего к человеческому интуиции, профиль 1 a nd profile 2, по крайней мере, имеют некоторое значение во всех трех интересах: баскетбол, крикет и питон, и, следовательно, эти два профиля скорее похожи друг на друга, чем на профиль 1 и профиль 3, где один из них (профиль 3) не упоминает python в профиле. Я также не хочу просто рассчитывать аналогичные функции для расстояния, которые, несомненно, приведут к неправильным результатам.
Мой первый вопрос - Можно ли каким-либо образом учесть эту интуицию любым из установленных способов?
Мой второй вопрос - могут быть некоторые авторы более подробные, чем другие, как настроить это? потому что многословный автор профиля, имеющий 4 вхождения python, может быть таким же, как менее подробный автор 2 вхождения python.
Я не смог найти хорошее название для вопроса. Так жаль, если это сбивает с толку.
ОК. Но как насчет вопроса 1? Как определить количество общих функций и расстояние? – Yantraguru
@ Kognizant: Это касается обеих проблем. Просто вычислите расстояние на этих нормализованных векторах. – cfh
извините, но я не понял. Не могли бы вы рассказать, как это касается первой проблемы? – Yantraguru