как найти значение k для k-средних?

#python-3.x #scikit-learn #k-means

#python-3.x #scikit-учиться #k-означает #k-средние

Вопрос:

Я использую k-средние значения для набора данных, включающего более 150k документов, но я не знаю, что такое хорошее k значение. Я попробовал метод elbow, чтобы найти его, но значение инерции меняется не так сильно.(я использую sklearn).

вот этот диаграмма MSES

Комментарии:

1. не могли бы вы опубликовать результаты, которые вы получили с помощью метода elbow?

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

Ответ №1:

Если метод elbow не дает четкого ответа, то, возможно, количество кластеров не является особенно хорошим. k-средние могут моделировать только сферические отношения, которые могут быть ограничивающими. Возможно, вы можете попробовать другие представления функций, например, что-то, основанное на встраивании Word.

Для задачи группировки документов вы можете захотеть использовать подход тематического моделирования вместо кластеризации, такой как скрытое распределение Дирихле (LDA) или неотрицательная матричная факторизация (NMF).