分区算法有哪些类型?
分区算法主要有两种类型,如下所示:
K 均值聚类 - K 均值聚类是最常见的划分算法。K 均值将数据集中的每个数据重新分配到新形成的聚类中的一个。使用距离或相似性度量将记录或数据点分配到最近的聚类。K 均值聚类使用以下步骤:
可以选择 K 个初始聚类中心 c1、c2、c3 ... ck。
可以将 S 集中的每个实例 x 分配到其中心最接近 x 的聚类。
对于每个聚类,根据该聚类中包含的元素重新计算其中心。
转到 (b) 直到收敛完成。
可以将对象(数据点)分成 K 个聚类。
它用于聚类中心(质心)=聚类中所有数据点的平均值。
可以将每个点分配到其中心最近的聚类(使用距离函数)。
均值的初始值是任意分配的。这些可以随机分配,或者可能使用前 k 个输入项本身的值。收敛元素可以基于平方误差,但它们不需要是。例如,该算法被分配到不同的聚类。其他终止技术只是锁定在固定数量的迭代中。可以包含最大迭代次数以确保即使没有收敛也能停止。
算法
输入
D = {t1t2 ... tn} // Set of elements k // Number of desired clusters
输出
K // Set of clusters
K 均值算法 -
为均值分配初始值 m1m2... mk
重复
将每个项目 ti 分配到均值最近的聚类
计算每个聚类的新均值
直到满足收敛条件
最近邻算法 - 一种类似于单链接技术的算法称为最近邻算法。使用此串行算法,项目被迭代地组合到当前最接近的聚类中。在此算法中,阈值 t 可以确定项目是插入现有聚类还是生成新聚类。
算法
输入
D = {t1t2 ... tn} // Set of elements A // Adjacency matrix showing distance between elements
输出
K // Set of clusters Nearest neighbour algorithm K1 = {t1}; K = {K1}; k = 1; for i = 2 to n do find the tm in some cluster Km in K such that dis {ti, tm} is the smallest; If dis {ti, tm} $\leqslant$ t then Km = Km $\cup$ ti else k = k + 1; Kk = {ti}
广告