Kmeans кластеризация несбалансированных данных

У меня есть набор данных с 50 функциями (c1, c2, c3 ...) с более чем 80 тыс. Строк.

Каждая строка содержит нормализованные числовые значения (от 0 до 1). На самом деле это нормализованная фиктивная переменная, поэтому некоторые строки имеют только несколько функций, 3-4 (т.е. 0 присваивается, если нет значения). Большинство строк содержат около 10-20 функций.

Я использовал KMeans для кластеризации данных, что всегда приводило к созданию кластера с большим количеством участников. После анализа я заметил, что строки с менее чем 4 функциями имеют тенденцию группироваться вместе, что мне не нужно.

Есть ли хоть какой-то баланс кластеров?

имеют ли строки с менее чем 4 характеристиками одинаковые соответствующие функции. Вы пробовали увеличить значение k

guroosh 10.09.2018 10:31

Нет, у них очень разные функции. Я варьировал K, используя метод локтя, в диапазоне от 50 до 100.

Ivan 10.09.2018 10:36

покажите часть кода, в которой вы группируете, и вывод.

guroosh 10.09.2018 11:24
2
3
2 606
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это не является частью k-средних задача для создания сбалансированных кластеров. Фактически, решения со сбалансированными кластерами могут быть сколь угодно плохими (просто рассмотрите набор данных с дубликатами). K-средство минимизирует сумму квадратов, и объединение этих объектов в один кластер кажется полезным.

Вы видите типичный эффект использования k-средних для разреженных, прерывистых данных. Закодированные категориальные переменные, двоичные переменные и разреженные данные просто не подходят для использования k-средних значений средства. Кроме того, вам, вероятно, также придется тщательно взвешивать переменные.

Исправление, которое, вероятно, улучшит ваши результаты (по крайней мере, качество воспринимается, потому что я не думаю, что оно сделает их статистически лучше), заключается в нормализации каждого вектора до единичной длины (евклидова норма 1). Это подчеркнет строки с несколькими ненулевыми записями. Возможно, вам больше понравятся результаты, но их еще труднее интерпретировать.

Другие вопросы по теме