Я работаю над проблемой, которая требует использования KMeans отдельно на ~ 125 различных наборах данных. Поэтому я хочу математически вычислить «оптимальный» K для каждого соответствующего набора данных. Однако метрика оценки продолжает уменьшаться с более высокими значениями K.Оценка оценки KMeans не сходится. Это нормальное поведение или нет?
Для образца набора данных есть 50K строк и 8 столбцов. Используя sklearn's calinski-harabaz score, я повторяю различные значения K, чтобы найти оптимальный/минимальный балл. Однако мой код достиг k = 5600, и показатель calinski-harabaz все еще снижался!
Что-то странное, похоже, происходит. Не работает ли метрика? Могут ли мои данные быть испорчены (см. Мой question about normalizing rows after PCA)? Есть ли другой/лучший способ математически сходиться на «оптимальном» K? Или я должен заставить себя вручную выбрать постоянную K по всем наборам данных?
Любые дополнительные перспективы были бы полезны Спасибо!
Действительно, в моих наборах данных не было естественной группировки. Оптимальное значение K было 1, фактически. Максимальный балл CH был, когда K = 2 (т. Е. Минимальный K пытался) по всей доске, и когда я заставил K = 1, это дало наилучшие результаты для моего набора данных. Как я уже упоминал в другом комментарии, я попробовал другой метод, который нашел K на основе того, когда вторая производная BIC упала ниже определенного пользовательского порога. Это также дало значимые результаты, но не так хорошо, как при K = 1. Интересно ... больше смотреть, но спасибо тонну за то, что помогли мне продумать это! – Chris
Рад помочь. Я хихикаю результатами ... это набор данных, который играет в игры с вашей головой. :-) – Prune