При использовании Affinity Propagation, является ли слишком высокий коэффициент демпфирования чем-то особенным? - PullRequest
0 голосов
/ 13 февраля 2020

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

Я могу сделать это так:

from scipy.spatial.distance import pdist
from scipy.spatial.distance import squareform

pairwise = pd.DataFrame(
    squareform(pdist(df_scaled)),
    columns = df_scaled.index,
    index = df_scaled.index
)

max(pairwise.max()) # I copy that: 6.538470145026547

, и я использую это в качестве предпочтения:

from sklearn.cluster import AffinityPropagation

AP = AffinityPropagation(preference = -6.538470145026547)

При использовании алгоритма по умолчанию, что означает, что предпочтение установлено на медиану значение матрицы сходства дало мне 9 кластеров.

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

Я могу снизить предпочтение еще больше , но это не рекомендуется авторами. Чтобы изменить количество кластеров, я могу использовать коэффициент демпфирования.

, например:

AP = AffinityPropagation(preference = -6.538470145026547,damping = 0.984) 

Я хотел получить 3 разных кластера, и вот оно! Но разве я что-то сломал при этом?

это то, чего я не знаю, и то, что я прошу.

при использовании AffinityPropagation - это слишком высокий фактор демпфирования ?

Увеличивает ли мой коэффициент демпфирования, чтобы получить spesifi c количество кластеров, что-нибудь нарушает? Какие плюсы и минусы в этом?

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