Оценка оптимального количества кластеров
28.01.2020
Добрый день!
Подскажите, пожалуйста, если при использовании функции в Matlab
eva = evalclusters(meas,'kmeans','gap','KList',[1:N]) ; plot (eva);
получается возрастающая функция, при любом N, брала и 20 и 100 и 500 и т.д., все равно функция возрастает и оптимальное количество кластеров получается равным N,
это означает что данный набор данных не кластиризуется?
Лучший ответ
Это, скорее всего, означает что у вас много кластеров (согласно данному алгоритму и критерию). Попробуйте другие алгоритмы и критерии, быть может получите другой результат.
Но если ваши данные устроены примерно так: 1,2,10,11,30,31,45,46, 54,55 и т.д., то вы получите приблизительно n/2 кластеров. По этому, внимательно посмотрите как ваши данные устроены. Визуализируйте их. Если размерность данных больше 3, приведите данные к меньшей размерности.
Ответы
Это, скорее всего, означает что у вас много кластеров (согласно данному алгоритму и критерию). Попробуйте другие алгоритмы и критерии, быть может получите другой результат.
Но если ваши данные устроены примерно так: 1,2,10,11,30,31,45,46, 54,55 и т.д., то вы получите приблизительно n/2 кластеров. По этому, внимательно посмотрите как ваши данные устроены. Визуализируйте их. Если размерность данных больше 3, приведите данные к меньшей размерности.
Артем, спасибо большое за ответ!
Проблема решилась удалением признаков с данными порядкого типа.