码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-06-21 22:28:52      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:init   label   数组   reference   算法   clust   没有   属性   训练   

  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 无监督学习:聚类(2) 近邻算法(Affinity Propagation)

标签:init   label   数组   reference   算法   clust   没有   属性   训练   

原文地址:https://www.cnblogs.com/liu247/p/11066979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!