分区方法:
这种聚类方法根据数据的特征和相似性将信息分为多个组。由数据分析师指定必须为聚类方法生成的聚类数。
在分区方法中,当数据库(D)包含多个(N)对象时,分区方法构造用户指定的(K)数据分区,其中每个分区代表一个集群和特定区域。有许多算法属于分区方法,其中一些流行的算法是 K-Mean、PAM(K-Mediods)、CLARA 算法(聚类大型应用程序)等。
在本文中,我们将详细了解 K 均值算法的工作原理。
K-Mean(基于质心的技术):
K均值算法从用户获取输入参数K,将包含N个对象的数据集划分为K个簇,使得组内(簇内)数据对象之间的相似度很高,但数据对象与外部数据对象的相似度集群低(集群间)。簇的相似性是相对于簇的平均值确定的。
它是一种平方误差算法。在开始时从数据集中随机选择 k 个对象,其中每个对象代表一个聚类平均值(中心)。对于其余的数据对象,根据它们与集群均值的距离将它们分配到最近的集群。然后使用添加的数据对象计算每个集群的新平均值。
算法:K 意思是:
Input:
K: The number of clusters in which the dataset has to be divided
D: A dataset containing N number of objects
Output:
A dataset of K clusters
方法:
- 从数据集中随机分配 K 个对象(D)作为聚类中心(C)
- (重新)根据平均值分配每个对象与哪个对象最相似。
- 更新集群意味着,即,用更新后的值重新计算每个集群的平均值。
- 重复步骤 4,直到没有变化。
流程图:
示例:假设我们只想使用访问者的年龄对网站的访问者进行分组,如下所示:
16, 16, 17, 20, 20, 21, 21, 22, 23, 29, 36, 41, 42, 43, 44, 45, 61, 62, 66
初始集群:
K=2
Centroid(C1) = 16 [16]
Centroid(C2) = 22 [22]
注意:这两个点是从数据集中随机选择的。
迭代 1:
C1 = 16.33 [16, 16, 17]
C2 = 37.25 [20, 20, 21, 21, 22, 23, 29, 36, 41, 42, 43, 44, 45, 61, 62, 66]
迭代 2:
C1 = 19.55 [16, 16, 17, 20, 20, 21, 21, 22, 23]
C2 = 46.90 [29, 36, 41, 42, 43, 44, 45, 61, 62, 66]
迭代 3:
C1 = 20.50 [16, 16, 17, 20, 20, 21, 21, 22, 23, 29]
C2 = 48.89 [36, 41, 42, 43, 44, 45, 61, 62, 66]
迭代 4:
C1 = 20.50 [16, 16, 17, 20, 20, 21, 21, 22, 23, 29]
C2 = 48.89 [36, 41, 42, 43, 44, 45, 61, 62, 66]
迭代 3 和 4 之间没有变化,所以我们停止。因此,我们使用 K 均值算法将聚类 (16-29)和(36-66)作为 2 个聚类。