Это не является частью цели k-средних для создания сбалансированных кластеров. На самом деле, решения со сбалансированными кластерами могут быть произвольно плохими (просто рассмотрим набор данных с дубликатами). K-means минимизирует сумму квадратов, и размещение этих объектов в одном кластере представляется полезным.
То, что вы видите, является типичным эффектом использования k-средних для разреженных, не непрерывных данных. Закодированные категориальные переменные, двоичные переменные и разреженные данные просто не очень подходят для использования k-средних означает . Кроме того, вам, вероятно, также необходимо тщательно взвешивать переменные.
Теперь исправление, которое, вероятно, улучшит ваши результаты (по крайней мере, воспринимаемое качество, потому что я не думаю, что это делает их статистически лучше) - теперь нормализует каждый вектор в единицу. длина (евклидова норма 1). Это подчеркнет те строки с несколькими ненулевыми записями. Вам, вероятно, понравятся результаты, но их еще труднее интерпретировать.