1.一种基于分布式计算平台改进的k均值聚类方法,其特征在于:首先,根据克洛斯卡尔算法对随机选取的k个点求出该点集的最小生成树权值和,重复n次,然后根据这n次的权值和选取出权值和最大并保证该点集的各边的权值相差不大,这样可以保证簇心相对均匀分布,最后使用经谷本距离改进后的k均值算法进行聚类运算,其步骤如下:
1)从样本中随机选取k个数据向量,对每个数据向量的每一特征进行规范化,使数据向量的每一特征的取值在0~1之间,对选取的k个数据向量,使用克洛斯卡尔算法,求出最小生成树的权值和,重复这个过程n次,记第i次计算得到的最小生成树权值和为di,
2)求出最小生成树权值和中的最大值MAX(d1,d2,...,dn)对应的由k个数据向量组成的点集;
3)倘若求出的点集的各边的权值相差不大时,则将该点集作为初始簇中心的k个初始中心,转步骤4);否则排除该点集,转步骤2);
4)然后运行基于分布式计算平台Spark改进后的k均值算法;
运行过程中根据谷本距离公式计算每个数据向量到k个簇中心的距离,根据计算得到的k个距离值,将数据向量放入到距离最小的这个簇心所对应的蔟中,然后通过每个簇中所有数据向量求平均值来更新蔟中心,此时,计算上一次k个蔟中心与更新后对应的蔟中心之间的欧式距离,得到k个欧氏距离值,倘若k个欧氏距离值都小于规定的误差阈值或达到迭代次数时,转步骤5),否则继续迭代;
5)输出聚类结果。
2.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的克洛斯卡尔最小生成树算法,具体描述如下:
克洛斯卡尔算法的基本思想为:选择无向加权连通图G中权值最小,并且不和已经选择的边形成的环的边,并将其添加到边集E中;否则就选择下一条边,知道边集E中有n-1跳变为止(图G中有n个顶点);
在无向加权连通图G=(V,E)中,V={V1,V2,...,Vn}是n个顶点构成的集合,E={e1,e2,...,em}是m条边构成的集合,W={W1,W2,...,Wm}是每条边对应的权值。构造生成树记住T=G{e1,e2,...,en-1};
算法实现步骤:
1)初始化顶点集边集所有边的权值WT=0;
2)将所有的边的权值按照从小到大进行排序,记为E';
3)选择没有在边集E中,权值最小,不和边集E中的边构成环,并且WT+Weij<<Wr+We′ij的边eij(e0是连接顶点i和j的边,Wij是eij的权值,e'ij是么有选择的边中的其它任何一边,W'是边e'ij的权值),将顶点i,j中没有在点集A中的点添加到A中,并将边eij添加到边集E中;否则不选择这条边;
4)重复第3步直到顶点集有n个顶点,边集中有n-1条边;
所述的最小生成树,具体描述如下:
在一个无向加权连通图所有生成树中,各边代价之和最小的那棵生成树称为该连通图的最小生成树。
3.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的k均值算法实现步骤:
1)随机选取k个中心点;
2)计算所有数据向量到k个初始聚类的中心点的距离,将每个数据向量划分到距离最近的中心点所在的簇中;
3)计算每个聚类簇中各点的平均值,并作为新的中心点;
4)重复步骤2),3),直到这k个簇点不再变化或者收敛或者达到所设定的迭代次数。
4.如权利要求3所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,k均值性能指标的误差平方函数H定义为
其中Xij表示第i个类的第j个样本,i=1,2,...,k;j=1,2,...,ni,ni表示第i个类簇中的样本数,mi表示第i个的聚类中心。
5.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的特征的规范化,定义为:
特征的规范化可以通过将每个特征转换为标准得分来完成,对每个特征取平均值,用每个特征减去平均值,然后除以特征的标准差,计算公式如下:
其中normalizedij表示第i个数据向量的第j个特征的规划化后的值,featureij表示第i个数据向量的第j个特征值,μj表示所有数据向量的第j个特征的平均值,σj表示所有数据向量的第j个特征的标准差。
6.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的聚类簇中心更新的计算公式,定义为:
其中i=1,2,...,k,Ki表示第i个聚类蔟中心,Xij为第i簇中第j个样本。
7.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的欧式距离计算公式,定义为
数据向量N=(n1,n2,...,np)和M=(m1,m2,...,mp)之间的距离d(m,n)为
其中m1,m2,...,mp是数据向量M的1维至p维数据集,n1,n2,...,np是数据向量N的1维至p维数据集。
8.如权利要求1所述的基于分布式计算平台改进的k均值聚类方法,其特征在于,所述的谷本距离,定义为:
两个n维向量(a1,a2,...,an)和(b1,b2,...,bn)之间的谷本距离d,公式为: