Что вы делаете, когда нет точки локтя для кластеризации kmeans?

13

Я узнал, что при выборе количества кластеров, вы должны искать точку сгиба для разных значений K. Я построил значения Inss для значений k от 1 до 10, но я не вижу четкого локоть. Что вы делаете в таком случае?

Проблемные KMeans

Джереми
источник
2
Существует много критериев кластеризации, правило «локтя СС» - одно, а не лучшее. Попробуйте другие. Также вероятно, что у вас нет кластеров в ваших данных.
ttnphns
@ttnphns Что это за мистическое другое, о котором ты говоришь? Как я могу не иметь кластеров в моих данных? Откуда я знаю?
Глен

Ответы:

7

Неправильный метод?

Возможно, вы используете неправильный алгоритм для вашей проблемы.

Неправильная предварительная обработка?

K-means очень чувствителен к предварительной обработке. Если один атрибут имеет гораздо больший масштаб, чем другие, он будет доминировать в выводе. Ваш вывод будет эффективно одномерным

Визуализируйте результаты

Что бы вы ни делали, вам нужно проверять свои результаты чем-то другим, не начиная с номера, такого как SSQ. Вместо этого рассмотрите визуализацию .

Визуализация также может сказать вам, что, возможно, в ваших данных есть только один кластер .

ВЫЙТИ - Anony-Mousse
источник
Какие есть хорошие варианты визуализации для многомерных данных?
Джереми
1
Зависит от ваших данных. Некоторые данные могут быть спроецированы хорошо, потому что они имеют гораздо меньшую внутреннюю размерность. Временные ряды могут быть легко построены, и если ваши данные представляют собой сериализованное изображение, визуализируйте его как изображения? В любом случае, визуализация зависит от ваших данных, и никогда не будет универсального решения.
Выйти - Anony-Mousse
3

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

Менее субъективный способ - использовать значение силуэта:

/programming/18285434/how-do-i-choose-k-when-using-k-means-clustering-with-silhouette-function

Это может быть вычислено с вашим любимым программным пакетом. По ссылке:

Этот метод просто сравнивает внутригрупповое сходство с ближайшим сходством группы. Если среднее расстояние какого-либо элемента данных до других членов того же кластера превышает среднее расстояние до некоторых других элементов кластера, это значение будет отрицательным, и кластеризация не будет успешной. С другой стороны, значения silhuette, близкие к 1, указывают на успешную операцию кластеризации. 0.5 не является точной мерой для кластеризации.

лощина
источник
Глен, я лично думаю, что твой ответ неполон. Первый абзац выглядит неясным. Что это за «ручная проверка», не могли бы вы описать процедуру? Тогда Силуэт "менее субъективен", чем что ? И почему?
ttnphns
Ответ @ttnphns обновлен.
Глен
contingency tables and conditional meansЭто еще мистическое. Что мне с ними делать, "субъективно" прийти к хорошему k?
ttnphns
@ttnphns Если у автора есть вопрос по этому поводу, я продолжу. Как я уже сказал, вы должны проверить, различимы ли группировки. Это кажется мне понятным.
Глен
Так что, если я получу низкие значения силуэта (~ .35), это может означать, что у этих данных нет хороших кластеров?
Джереми
0
  • Отсутствие толчка для K-средних не означает, что в данных нет кластеров;
  • Отсутствие колена означает, что используемый алгоритм не может разделять кластеры; (подумайте о K-средних для концентрических окружностей, против DBSCAN)

Как правило, вы можете рассмотреть:

  • настроить свой алгоритм;
  • использовать другой алгоритм;
  • сделать предварительную обработку данных.
Данил Жеребецкий
источник
-1

Мы можем использовать пакет NbClust, чтобы найти наиболее оптимальное значение k. Он предоставляет 30 показателей для определения количества кластеров и предлагает лучший результат.

NbClust (data = df, distance = "евклидово", min.nc = 2, max.nc = 15, method = "kmeans", index = "all")

Саджал Растоги
источник
Добро пожаловать на сайт! Не могли бы вы расширить этот ответ? Будучи полезным, немного больше деталей сделало бы его более полезным.
mkt - Восстановить Монику