алгоритм кластеризации с минимальным количеством точек - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь отделить набор данных, который имеет 2 кластера, которые ни в коем случае не перекрываются, и одну точку данных, которая находится за пределами этих двух кластеров.

Когда я использую kmeans (), чтобы получить 2 кластера, он разделяет один из «действительных» кластеров на две части и рассматривает одну точку данных как отдельный кластер.

Можно ли указать для этого минимальное количество баллов?Я использую MATLAB.

1 Ответ

0 голосов
/ 13 октября 2018

Существует несколько решений:

  1. Легко: попробуйте с 3 кластерами;
  2. Легко: удалите одну точку данных (которую вы можете определить как выброс с помощью любого метода обнаружения выброса);
  3. Испытание: используйте метод k-medoids вместо k-средних. Это иногда помогает избавиться от выбросов.
  4. Более сложный, но надежный подход: выполнить спектральная кластеризация . Это поможет вам преодолеть основную проблему k-средних, которая заключается в жестоком использовании евклидова расстояния

Дополнительные объяснения неадекватного поведения k-средних можно найти в Cross Validatedсайт (см. здесь , например).

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