层次聚类算法
层次聚类算法通过逐步合并最相似的群组来构建层级结构。起始状态下,每个对象都被视为一个独立的群组。在每次迭代中,算法计算每两个群组之间的距离,并将距离最近的两个群组合并为一个新的群组。此过程不断重复,直到只剩下一个群组。
层次聚类算法的合并过程可以用树状图直观地表示,称为层次聚类树状图。树状图展示了合并过程和中间聚类的形成过程。
由于层次聚类算法的计算复杂度为 O(n² log n),内存消耗为 O(n²),其中 n 为对象个数,因此不适用于大型数据集。
k-means 分割聚类算法
与层次聚类算法相比,k-means 分割聚类算法预先确定了生成的聚类数量 (k),从而减少了计算量。
k-means 算法首先随机选择 k 个中心点,然后将每个数据项分配给距离最近的中心点。分配完成后,聚类中心会移动到该聚类所有节点的均值处。此分配过程会反复进行,直到分配结果不再变化为止。
k-means 算法的计算量相对较低,为 O(kn),其中 k 为聚类个数,n 为对象个数。因此,k-means 算法适用于处理大型数据集。