Обновление значения K в кластеризации K-средних - PullRequest
0 голосов
/ 03 декабря 2018

Каков наилучший способ кластеризации набора данных без меток и без представления о количестве требуемых кластеров?

Например, при использовании набора данных Iris без меток или знания количества классов меток.

Моя идея:

  • Вычислить среднеквадратичное расстояние от каждого из существующих кластеров для выборки
  • * Если среднеквадратичное расстояние> некоторый порог с коэффициентом, которыйзависит (штрафует) от k, затем добавьте «нового» кандидата.
  • * Если был добавлен новый кластер, найдите новый «лучший» k + 1 кластерных центров
  • Если нетдобавлен новый кластер, перейти к следующей строке

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Были предложены десятки способов выбора k.

Некоторые варианты, такие как x-means, могут динамически регулировать k, вам нужно только дать максимум - и выбрать критерий качества AIC или BIC.

0 голосов
/ 03 декабря 2018

Что вы можете сделать, это построить кривую колена при разных значениях K, как описано здесь

В частности,

1) Идея коленаметод состоит в том, чтобы запустить кластеризацию k-средних в наборе данных для диапазона значений k (скажем, k от 1 до 10 в приведенных выше примерах) и для каждого значения k вычислить сумму квадратов ошибок (SSE).

2) Затем постройте линейную диаграмму SSE для каждого значения k.Если линейный график выглядит как рука, то «локоть» на руке является лучшим значением k *

3) Поэтому наша цель состоит в том, чтобы выбрать небольшое значение k, которое все еще имеет низкое значениеSSE, и локоть обычно представляет, где мы начинаем иметь уменьшающуюся отдачу, увеличивая k

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...