Распространение схожести довольно сложно и дорого.
Правильный *1003* способ присвоения точек кластерам - это итеративное вычисление обязанностей, которые зависят от обязанностей соседей. Но тогда выбранные вами 4 экземпляра могут больше не отвечать за все данные или не самые ответственные точки.
Некоторые инструменты, такие как sklearn, назначают все точки ближайшему соседу, когда вы вызываете «прогнозировать». Это не согласуется с первоначальным подходом, но на практике, похоже, не имеет большого значения. Это может объяснить, почему распространение аффинности, по-видимому, не работает намного лучше, чем k-средние или k-медоиды в большинстве случаев - если ответственность почти такая же, как близость, тогда большинство из них дают почти тот же результат.
Следовательно, APэто не тот метод, который я бы рекомендовал использовать - слишком медленный для чего-то, что не сильно отличается от k-средних в результате.