Spark MLlib中的K-means算法使用Map分布式读取数据集,并存储在内存里。计算时,用Map键值对表示随机挑选出来的k个聚类中心,Spark的驱动器节点负责把数据发送到各个工作节点,以实现具体的计算任务。Spark MLlib不同于传统的机器学习工具,它提供了简单易用的API,特别是Spark能够高效地处理大数据,并且在迭代计算时具有较强的优势。......
2023-11-21
K-Means算法是最常用的聚类算法,主要思想是:在给定K值和K个初始类簇中心点的情况下,首先把每个点(也称为数据记录)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代地进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小或达到指定的迭代次数[2]。
算法9.1 K-Means聚类
(1)选择一些类/组,并随机初始化它们各自的中心点,中心点是与每个数据点向量长度相同的位置。这需要我们提前预知类的数量(中心点的数量)。
(2)计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中。
(3)计算每一类的中心点作为新的中心点。
(4)重复以上步骤,直到每一类中心在每次迭代后变化不大为止。也可以多次随机初始化中心点,然后选择运行结果最好的一个[3]。
基本原理:假设簇划分为(C1,C2,…,Ck),我们的目标是最小化平方误差E:
式中,μi为簇Ci的均值向量,有时也称为质心,其表达式为
直接求式(9.2)的最小值并不容易,需要采用启发式的迭代方法。K-Means采用的启发式方式很简单,用下面一组图就可以形象地描述。
图9-1(a)表达了初始的数据集,假设k=2。在图9-2(b)中,首先随机选择两个k类所对应的类别质心,即图中的红色质心和蓝色质心;然后分别求样本中所有点到这两个质心的距离,并标记每个样本的类别为与该样本距离最小的质心的类别。如图9-1(c)所示,经过计算样本与红色点质心和蓝色点质心的距离,我们得到了所有样本点的第一轮迭代后的类别。此时,对当前标记为红色和蓝色的点分别求其新的质心。如图9-1(d)所示,新的红色质心和蓝色质心的位置已经发生了变动。图9-1(e)、 (f)重复了在图9-1(c)、(d)的过程,即将所有点的类别标记为距离最近的质心的类别并求新的质心。最终我们得到的两个类别如图9-1(f)所示。
图9-1 K-Means的启发式方式(见彩插)
有关数据挖掘技术与应用的文章
Spark MLlib中的K-means算法使用Map分布式读取数据集,并存储在内存里。计算时,用Map键值对表示随机挑选出来的k个聚类中心,Spark的驱动器节点负责把数据发送到各个工作节点,以实现具体的计算任务。Spark MLlib不同于传统的机器学习工具,它提供了简单易用的API,特别是Spark能够高效地处理大数据,并且在迭代计算时具有较强的优势。......
2023-11-21
Mean-Shift聚类是一个基于滑窗的算法,其目的是尝试找到数据点密集的区域。算法9.2M ean-Shift聚类确定滑动窗口半径r,以随机选取的中心点为C、半径为r的圆形滑动窗口开始滑动。Mean-Shift聚类的优点如下:不同于K-Means算法,均值漂移聚类算法不需要知道有多少类/组。基于密度的算法相比于K-Means受均值影响较小。Mean-Shift聚类的缺点:窗口半径r的选择可能是不重要的。......
2023-06-21
聚类分析发现强相关的对象组,而特异检测发现不与其他对象强相关的对象。图3.8K-means聚类方法与CpecuFind发现特异数据能力ROC曲线K-means聚类;CpecuFind表3.6K-means与CpecuFind发现特异数据能力ROC曲线面积对比上述对比说明,只简单地以簇类大小和对象与类心距离来评估对象的特异程度结果很粗糙,其评价特异数据的能力远不如Cpecu Find方法。......
2023-06-16
图9-2DBSCAN基本概念(见彩插)图9-3“直接密度可达”和“密度可达”概念示意描述根据前面基本概念的描述知道:由于有标记的各点M、P、O和R的Eps近邻均包含三个以上的点,因此它们都是核对象;M是从P“直接密度可达”;而Q则是从M“直接密度可达”;基于上述结果,Q是从P“密度可达”;但P从Q无法“密度可达”(非对称)。......
2023-06-21
RNN算法对标准层次聚类的合并准则和相似度度量做了相应的改进,从而降低了其复杂度,使其更适用于大规模的数据集。当合并最近邻对得到一个新的簇时,需要重新计算该簇与其他各个簇的相似度,如果通过平均值的距离来度量两个簇的距离,其计算复杂度仅为O,但是由于本书采用的是平均距离,则需要通过更为有效的方法进一步降低复杂度。对于低维数据,还可以通过更为有效的最近邻搜索技术进一步降低复杂度。......
2023-06-28
设某一属性的所有值的数据集为S,其平均值为Smean。根据这些想法,提出一种基于聚类的全局特异数据挖掘方法。构架仍由挖掘特异属性和挖掘特异记录两个层次构成。从原则上讲可以采用任何基于距离的聚类算法对S进行聚类,采用的聚类算法的效果好,可以减少后续的计算量。图3.2SimC聚类算法可以看出,k是控制聚类半径Cd的。现在根据式(3.9)计算每个类的特异因子,记为CPF。显然,CPF越小的类,其中的元素是特异数据的可能性越小。......
2023-06-16
图9-4K-Means不适用的情况高斯混合模型具有比K-Means更好的灵活性。使用GMM,需要假设数据点是高斯分布,相对于环形的数据而言,这个假设的严格程度与均值相比弱很多。因此,每个高斯分布会被分配到单一的聚类簇。基于这些概率,我们为高斯分布计算了一组新的参数,这样就可以最大化集群中数据点的概率。......
2023-06-21
聚类的定义与待处理对象特征有关。聚类的方法很多,不同的方法对于同一数据集聚类的结果可能不同。根据层次分解形式的方式,层次聚类方法可划分为凝聚的层次聚类和分裂的层次聚类方法。绝大多数层次聚类方法属于这一类,它们的不同表现在簇内与簇间相似度的定义不同。目前,一般将基于层次的聚类方法和其他聚类技术进行集成以形成多阶段聚类,从而提高聚类质量。它是一种结构辅助聚类的方法,在大型数据库中的速度和伸缩性较好。......
2023-06-16
相关推荐