python 层次聚类_Python层次聚类sci.cluster.hierarchy.linkage函数详解

1 函数原型:

scipy.cluster.hierarchy.linkage(y, method='single', metric='euclidean', optimal_ordering=False)

函数功能:进行层次聚类/凝聚聚类。

参数:

y: 可以是1维压缩向量(距离向量),也可以是2维观测向量(坐标矩阵)。若y是1维压缩向量,则y必须是n个初始观测值的组合,n是坐标矩阵中成对的观测值。

返回值:(n-1)*4的矩阵Z(后面会仔细的讲解返回值各个字段的含义)

linkage方法用于计算两个聚类簇s和t之间的距离d(s,t),这个方法的使用在层次聚类之前。当s和t行程一个新的聚类簇u时,s和t被从森林(已经形成的聚类簇群)中移除,而用新的聚类簇u来代替。当森林中只有一个聚类簇时算法停止。而这个聚类簇就成了聚类树的根。

距离矩阵在每次迭代中都将被保存,d[i,j]对应于第i个聚类簇与第j个聚类簇之间的距离。每次迭代必须更新新形成的聚类簇之间的距离矩阵。

假定现在有|u|个初始观测值u[0],...,u[|u|-1]在聚类簇u中,有|v|个初始对象v[0],...,v[|v|-1]在聚类簇v中。回忆s和t合并成u。让v成为森林中的聚类簇,而不是u。

下面是计算新形成的聚类簇u和v之间距离的方法:

method = ‘single’

d(u,v) = min(dist(u[i],u[j]))

对于u中所有点i和v中所有点j。这被称为最近邻点算法。

method = 'complete'

d(u,v) = max(dist(u[i],u[j]))

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值