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

AP算法与K-means对比及使用示例
博客介绍了AP算法,其结果稳定可重现,训练前无需指定K值,但时间复杂度比K-means高,且AP中心点是样本中的点。还给出了AP算法的Python使用示例,展示了不同参数下的聚类结果,并列举了AP算法的重要初始化参数和聚类结果属性。

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

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

  AP 的中心点是样本中的某一个点,而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: 近邻矩阵,也就是责任度矩阵和可用度矩阵的和
'''

转载于:https://www.cnblogs.com/liu247/p/11066979.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值