Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Кластеризация объектов с взвешенными атрибутами

Автор вопроса: MariyaОтветов: 1

Я хочу сгруппировать набор объектов, которые имеют несколько атрибутов, и некоторые атрибуты более важны, чем другие. Есть ли простой способ придать этим конкретным атрибутам большой вес, чтобы придать им большее значение, чем другим?

attributescluster-analysisdistancedata-mining

Ответы

Ответ 1 · рейтинг 2 · stemm

Посмотрите - каждый экземпляр объектов из вашего набора может быть представлен как многомерный вектор (каждый атрибут вашего объекта является компонентом вектора). Итак, вы можете использовать кластеризацию на основе расстояния (расстояние между похожими векторами очень мало), например k-среднее. Вам необходимо определить собственную функцию расстояния между векторами.

Например, если у ваших объектов 3 атрибута (X Y Z), также каждый атрибут имеет свой вес (важность) (wx wy wz). В соответствии с этим, например, вы можете определить функцию расстояния между двумя векторами (X1 Y1 Z1) и (X2 Y2 Z2) таким образом (косинусное расстояние):

                         (wx^2*X1*X2+wy^2*Y1*Y2+wz^2*Z1*Z2)
dist= -----------------------------------------------------------------------
       [(wx^2*X1^2+wy^2*Y1^2+wz^2*Z1^2)*(wx^2*X2^2+wy^2*Y2^2+wz^2*Z2^2)]^0,5

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы