K-means聚类方法
就是把空间内点,分成K类。同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。
用均值来代表类中心,并用于衡量与新点的距离。
初始值:
根据先验知识找到K个均值,做迭代初始值。
迭代公式:
1:从n个数据对象中选择k个对象作为初始聚类中心
2:将剩下的n-k个数据对象,按照他们和初始的k个值之间的距离大小,分配给与其最近的聚类。
3:计算形成的k个新聚类的聚类中心(该聚类中所有对象的均值)
4:重复2
5:类中心不再摆动,或者摆动幅度很小,趋于稳定,则终止。
测准函数一般使用均方差。
bin/mahout kmeans \
-i <input vectors directory> \
-c <input clusters directory> \
-o <output working directory> \
-k <optional number of initial clusters to sample from input vectors> \
-dm <DistanceMeasure> \
-x <maximum number of iterations> \
-cd <optional convergence delta. Default is 0.5> \
-ow <overwrite output directory if present>
-cl <run input vector clustering after computing Canopies>
-xm <execution method: sequential or mapreduce>
注意: 当-k被指定的时候,-c目录下的所有聚类都将被重写,将从输入的数据向量中随机抽取-k个点作为初始聚类的中心。