K-means聚类方法
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个点作为初始聚类的中心。
?
1 楼 此情此景 2011-03-04 你好!kmeans结果是SequeceFile类型的文件,打不开,怎么看呢? 2 楼 chakey 2011-03-06 此情此景 写道你好!kmeans结果是SequeceFile类型的文件,打不开,怎么看呢?