层次聚类算法是一个应用广泛的算法,小编最近要做对比实验,实现了其中一个版本,为了验证实验效果,结合我国各省会城市之间的距离,对省进行聚类看看效果如何。所有本文从3部分来介绍,首先简介层次聚类算法,然后讲解其实现原理,最后结合一个实例进行分析对比。
1. 层次聚类
层次聚类算法分成凝聚的和分裂的两种,取决于层次分解是以自底向上(合并)还是以自顶向下(分裂)方式形成。
凝聚的层次聚类方法使用自底向上的策略,开始时每个对象自己是独立的类(N个),然后不断合并成越来越大的类,直到所有的对象都在一个类中,或者满足某个终止条件。在合并过程中是找出两个最近的类让他们合并形成一个类,所以最多进行N次迭代就将所有对象合并到一起了。分裂的层次聚类方法使用自顶向下的策略,开始时所有对象都在一个类中(1个),然后不断的划分成更小的类,直到最小的类都足够凝聚或者只包含一个对象。

文章介绍了层次聚类算法,包括凝聚层次聚类的原理,并通过C++实现对32个中国省会城市的聚类。实验结果显示,全连接算法在地理划分上更接近预期,而单连接算法易形成带状区域。
最低0.47元/天 解锁文章
574

被折叠的 条评论
为什么被折叠?



