数据挖掘_聚类分析
聚类分析(cluster analysis),是一组将研究对象分为相对同质的群组(clusters)的数据挖掘技术。聚类与分类的不同在于,聚类所要求划分的类是未知的。
聚类分析计算方法主要有:层次的方法(hierarchical method)、划分方法(partitioning method)、基于密度的方法(density-based method)、基于网格的方法(grid-based method)、基于模型的方法(model-based method)等。其中,前两种算法是利用统计学定义的距离进行度量。
k-means 算法是硬聚类算法,是典型的局域原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。k-means 算法工作过程如下:
(1)从 n个数据对象任意选择 k 个对象作为初始聚类中心;
(2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;
(3)重新计算每个(有变化)聚类的均值(中心对象);
(4)循环(2)、(3)直到每个聚类不再发生变化为止(标准测量函数收敛),此时k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
优点:本算法确定的K 个划分到达平方误差最小。当聚类是密集的,且类与类之间区别明显时,效果较好。对于处理大数据集,这个算法是相对可伸缩和高效的。
缺点:K需要事先给定,但非常难以选定;初始聚类中心的选择对聚类结果有较大的影响。