聚类 - spark.mllib
聚类是一种无监督的学习问题,我们的目标是根据一些相似的概念将实体的子集相互分组。聚类通常用于探索性分析和/或作为分层 监督学习管线(其中针对每个群集训练不同的分类器或回归模型)的组成部分。
该spark.mllib软件包支持以下模型:
K-means
Gaussian mixture
Power iteration clustering (PIC)
Latent Dirichlet allocation (LDA)
Bisecting k-means
Streaming k-means
K-means
K-means是最常用的聚类算法之一,可将数据点聚类到预定义数量的聚类中。该spark.mllib实现包含称为kmeans的k-means++方法的并行变体。
实现中有以下参数:spark.mllib
k是期望的簇的数量。
maxIterations是要运行的最大迭代次数。
initializationModel指定随机初始化或通过k-means 进行初始化。
runs是运行k-means算法的次数(k-means不能保证找到全局最优解,并且在给定数据集上运行多次时,算法返回最佳聚类结果)。
initializationSteps确定k-means算法中的步数。
epsilon决定了我们认为k-means已经收敛的距离阈值。
initialModel是用于初始化的一组可选集群中心。如果提供此参数,则只执行一次运行。
from __futur