首页 理论教育 聚类算法K-means在MLLib中的应用

聚类算法K-means在MLLib中的应用

时间:2023-06-21 理论教育 版权反馈
【摘要】:聚类是一个无监督学习[5]的方法,其的意图在于基于某种相似性概念将数据实体分成不同的子集。MLLib支持多种聚类算法,我们将在本节重点介绍K-means算法,这是将数据点划分为预期簇个数的最常用聚类算法之一。表4-17 K-means算法的参数列表中的代码可在spark-shell中执行。在示例中,我们将首先导入和解析输入数据,之后使用KMeans对象将各数据点分到两个类簇中。可通过增加k值来降低该误差,事实上,当k的取值理想时,WSSSE图中将会有一个“低谷点”。

聚类算法K-means在MLLib中的应用

聚类是一个无监督学习[5]的方法,其的意图在于基于某种相似性概念将数据实体分成不同的子集。聚类常用于探索式分析或作为多层级监督学习管道中的一个组件(这其中每个簇都对应训练了不同的分类器回归模型)。

MLlib支持下面5个模型。

● K-means。

● Gaussian mixture。

● Power iteration clustering(PIC)。

● Latent Dirichlet allocation(LDA)。

● Streaming k-means。(www.xing528.com)

MLLib支持多种聚类算法,我们将在本节重点介绍K-means算法,这是将数据点划分为预期簇个数的最常用聚类算法之一。MLLib实现了K-means++的并行化的演变版本 K-means||。该算法在MLLib中实现的参数如表4-17所示。

表4-17 K-means算法的参数列表

978-7-111-52928-6-Part02-172.jpg

【例4-63】中的代码可在spark-shell中执行。在示例中,我们将首先导入和解析输入数据,之后使用KMeans对象将各数据点分到两个类簇中。期望得到的类簇个数将作为参数传给算法,然后计算集内均方差总和。可通过增加k值来降低该误差,事实上,当k的取值理想时,WSSSE图中将会有一个“低谷点”。

例4-63】K-means算法应用模型示例。

978-7-111-52928-6-Part02-173.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈