• Регистрация
galekx2
galekx20.00
н/д
  • Написать
  • Подписаться

Оценка оптимального количества кластеров

Глубокое и машинное обучение(ИИ),  Математика и статистика 
28.01.2020

Добрый день!

 

Подскажите, пожалуйста, если при использовании функции в Matlab

eva = evalclusters(meas,'kmeans','gap','KList',[1:N]) ; plot (eva);

получается возрастающая функция, при любом N, брала и 20 и 100 и 500 и т.д., все равно функция возрастает и оптимальное количество кластеров получается равным N, 

это означает что данный набор данных не кластиризуется?

Теги

  • Big data
  • MATLAB
  • evalclusters
  • clusters
  • кластеризация
  • kmeans
    28.01.2020

    Лучший ответ

    • Artem+2132.85
      29.01.2020 12:00

      Это, скорее всего, означает что у вас много кластеров (согласно данному алгоритму и критерию). Попробуйте другие алгоритмы и критерии, быть может получите другой результат.

      Но если ваши данные устроены примерно так: 1,2,10,11,30,31,45,46, 54,55 и т.д., то вы получите приблизительно n/2 кластеров. По этому, внимательно посмотрите как ваши данные устроены. Визуализируйте их. Если размерность данных больше 3, приведите данные к меньшей размерности.

    Ответы

    • Artem
      Artem+2132.85
      29.01.2020 13:21

      Это, скорее всего, означает что у вас много кластеров (согласно данному алгоритму и критерию). Попробуйте другие алгоритмы и критерии, быть может получите другой результат.

      Но если ваши данные устроены примерно так: 1,2,10,11,30,31,45,46, 54,55 и т.д., то вы получите приблизительно n/2 кластеров. По этому, внимательно посмотрите как ваши данные устроены. Визуализируйте их. Если размерность данных больше 3, приведите данные к меньшей размерности.

      • galekx2
        galekx20.00
        30.01.2020 07:19

        Артем, спасибо большое за ответ!

         

        Проблема решилась удалением признаков с данными порядкого типа.