聚类算法(三):层次聚类 Hieriachical算法

本文介绍了层次聚类算法,特别是凝聚型层次聚类,该算法通过不断合并最近的类来逐步构建层次结构,直至所有对象归为一个簇。详细讲解了算法步骤,并提供了源码分享。
摘要由CSDN通过智能技术生成

层次聚类算法是对给定的数据集进行层次的分解,知道满足某种条件为止。这里我主要演示凝聚型层次聚类,凝聚型是有多个簇合并成较少的簇的过程,下面对算法进行讲解:

算法:Hieriachical

输入:数据集D

输出:各个簇的集合N

1.将每个对象归为一类, 共得到N类, 每类仅包含一个对象. 类与类之间的距离就是它们所包含的对象之间的距离.

2.找到最接近的两个类并合并成一类, 于是总的类数少了一个.

3.重新计算新的类与所有旧类之间的距离.

4.重复第2步和第3步, 直到最后合并成一个类为止(此类包含了N个对象).


源码分享:

def Hierachical(data):
    min_dis = 10000
    print data
    while len(data) > 1: # 只要data中簇的个数大于1,就继续循环
        for i in range(len(data)):
            for j in range(i+1, len(data)):
                a = data[i]
                b = data[j]
                ave_dis = Average_dis(data[i], da
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值