0A04 无监督学习:聚类 近邻算法(Affinity Propagation)

Posted liu247

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0A04 无监督学习:聚类 近邻算法(Affinity Propagation)相关的知识,希望对你有一定的参考价值。

  AP算法,具有结果稳定可重现

  训练前不用制定K-means中K值,但是算法的时间复杂度比K-means高

import numpy as np
from sklearn.cluster import AffinityPropagation # 引入AP算法聚类

X = np.array([[1,2],[1,4],[0.7,0],[0.2,5],[0,4],[1.3,0],[0.1,2],[0,4],[0.4,0]]) # 训练数据
af = AffinityPropagation(preference=-5).fit(X) # preference结点参考度 =-5 聚类
print(af.labels_) # 查看聚类结果
af2 = AffinityPropagation(preference=-8).fit(X)
print(af2.labels_) # 查看聚类结果
print(af2.n_iter_) # 迭代进行了42轮
print(af2.cluster_centers_) # 两个质心的坐标


‘‘‘
一些重要的初始化参数:
damping: 阻尼因子,范围在0.5-1之间
converfence_iter: 聚类结果连续迭代 converfence_iter 次没有变化时,认为已经达到了稳定状态,算法完成
max_iter: 最大迭代次数
preference: 结点参考度,可以是一个数值或一个数组(每个样本有各自的参考度)
affinity: 相似度计算的方法
一些重要的聚类结果的属性:
cluster_centers_indices 质心样本在训练集中的索引号
cluster_centers_: 质心结点的特征向量数组
labels_: 训练样本的聚类结果
n_iter: 算法收敛所用的迭代次数
affinity_matrix: 近邻矩阵,也就是责任度矩阵和可用度矩阵的和
‘‘‘

以上是关于0A04 无监督学习:聚类 近邻算法(Affinity Propagation)的主要内容,如果未能解决你的问题,请参考以下文章

无监督学习小记(参考)

一文了解k-means聚类算法

实战 | K-Means 聚类算法

python与机器学习

Python无监督学习的4大聚类算法

sklearn—无监督最近邻