2015-11-05 3 views
1

Я хочу запустить распространение Affinity в python. Я знаю, что у sklearn.cluster есть этот алгоритм. Кажется, что sklearn.cluster.AffinityPropagation запускает его, вычисляя матрицу подобия как отрицательные евклидовы расстояния. Однако у меня есть своя матрица подобия и я не хочу использовать евклидовы расстояния. Так что мне интересно, есть ли способ, которым я поместил свою матрицу подобия в качестве ввода и запустил алгоритм на основе этого?Матрица подобия в аффинности Распространение Python

ответ

1

Да, вы можете это сделать! См. Следующий фрагмент

from sklearn.cluster import AffinityPropagation 

# compute the similarity matrix 
af = AffinityPropagation(affinity='precomputed', verbose=True) 
af.fit(similarity_matrix) 
print af.labels_, af.cluster_centers_indices_ 
Смежные вопросы