sklearn.cluster.affinity_propagation

sklearn.cluster.affinity_propagation(S, *, preference=None, convergence_iter=15, max_iter=200, damping=0.5, copy=True, verbose=False, return_n_iter=False, random_state='warn')

[源码]

执行数据的亲和传播聚类

用户指南中阅读更多内容

参数 说明
S array-like, shape (n_samples, n_samples)
点之间的相似矩阵
preference array-like, shape (n_samples,) or float, optional
每个点的偏好值越大,就越有可能被选择作为样本。样本数,即聚类的样本数,受输入偏好值的影响。如果首选项不是作为参数传递,则它们将被设置为输入相似点的中位数(从而导致适度的聚类数目)。对于较小数量的簇,可以将其设置为相似性的最小值。
convergence_iter int, optional, default: 15
停止收敛的估计簇数目不变的迭代次数
max_iter int, optional, default: 200
最大迭代次数
damping float, optional, default: 0.5
阻尼系数在0.5到1之间。
copy boolean, optional, default: True
如果copy是False,则通过该算法对亲和矩阵进行修改,以提高内存效率。
verbose boolean, optional, default: False
详细程度
return_n_iter bool, default False
是否返回迭代次数
random_state int or np.random.RandomStateInstance, default: 0
伪随机数发生器控制起动状态。对跨函数调用的可重复结果使用整数。见Glossary
返回值 说明
cluster_centers_indices array, shape (n_clusters,)
簇中心指数
labels array, shape (n_samples,)
每个点的聚类标签
n_iter int
运行的迭代数。只有当return_n_iter设置为True时才返回。

举个例子,参见examples/cluster/plot_affinity_propagation.py.

当算法不收敛时,为每个训练样本返回一个空数组作为cluster_center_indices, -1作为标签。

当所有训练样本具有相同的相似性和相同的偏好时,聚类中心和标签的分配取决于偏好。如果偏好小于相似性,则将返回每个样本的单个中心聚类和标签0。否则,每个训练样本都会成为自己的聚类中心,并被分配一个唯一的标签。

参考

Brendan J. Frey and Delbert Dueck, “Clustering by Passing Messages Between Data Points”, Science Feb. 2007

sklearn.cluster.affinity_propagation使用示例