Получение веса доминирования при применении взвешенных k-средних для категориальных данных - PullRequest
0 голосов
/ 22 сентября 2019

Недавно я пробовал взвешенный алгоритм k-средних.Но я столкнулся с проблемой, заключающейся в том, что вес одного признака доминирует над другим, особенно когда это категорический признак.Это означает, что взвешенное евклидово расстояние полностью основано на доминирующих признаках.

Рабочий процесс моего взвешенного k-среднего выглядит следующим образом:

  1. Случайный выбор начальных k скоплений центроидови веса для каждого кластера.

  2. Распределение точек данных по взвешенному евклидову расстоянию.

  3. Обновление центроидов кластера.

  4. Обновление весов каждого кластера путем минимизации их sse (сумма квадратов ошибок).

  5. Переходите от шага 2 к шагу 5 до схождения.

Каждый кластер имеет вектор весов для измерения важности объектов при расчете взвешенного евклидова расстояния.Сумма весов одна.Доминирование означает, что вес определенной функции равен единице, а вес другой - почти нулям.Я считаю, что эта проблема возникает, когда есть категориальные признаки (расстояние между двумя категориальными признаками равно единице, когда значения одинаковы, и нулю, когда значения различны).Предположим, у нас есть признак пола со значением 1 или 0. Когда алгоритм выделяет кластеру все точки данных со значением пола 0, значение пола центроида также равно 0. Сумма расстояния пола будет равна 0. И на шаге 4, чтобы минимизировать sse, вес секса будет равен 1, потому что это сделает sse этого кластера равным 0!Таким образом, веса других будут равны 0. Однако это не тот результат, которого я хочу, потому что я не думаю, что распределение этого кластера полностью основано на поле ...

Итак, кто-нибудь сталкивался?Эта проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...