AffinityPropagation .labels_ vs .predict () - PullRequest
0 голосов
/ 23 декабря 2018

Code of .labels vs. .predict()

Я делаю кластеризацию с AffinityPropagation от sklearn.

Использование clustering.labels_ дает другой (хотя и почти идентичный) результат для выполнения clustering.predict на одних и тех же данных обучения.

Любое понимание, почему это правда?

1 Ответ

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

Не используйте predict с какой-либо кластеризацией, кроме семейства k-средних.

Если вы делаете fit, результат вычисляется с распространением сродства.

Если вы вызываетеpredict, это , а не на самом деле делает AP .Вместо этого он просто находит ближайший образец для каждой точки.Это может или не может дать те же результаты, что вы наблюдали.Поскольку близкие точки, скорее всего, несут ответственность, у этого есть высокая вероятность быть правильным - но он не делает никакой формы сродства распространение , это - классификация ближайшего соседа к образцам.

k-означает хорошо, потому что он использует логику ближайшего центра.Но это обычно не относится к кластеризации.В общем, алгоритмы кластеризации не могут предсказать данные вне выборки;для этого вам нужен классификатор.

...