聚类分析初识

实例

举两个实际列子:

  1. 如何通过对餐饮客户消费行为的测量,进一步评判餐饮客户的价值和对餐饮客户进行细分,找到有价值的客户群和需要关注的客户群
  2. 如何合理对菜品进行分析,以便区分哪些菜品畅销毛利又高,哪些菜品滞销毛利又低。
    这呢可以通过聚类分析解决

聚类分析定义

聚类分析是在没有给定划分类别的情况下,根据相似度进行样本分组的一种方法。是一种非监督的学习算法,划分的原则是组内距离最小化而组间(外部)距离最大化

常用的聚类方法

  1. 划分方法:划分方法就是根据用户输入值K把给定对象分成K组(满足2个条件:1. 每个组至少包含一个对象。2. 每个对象必须且只属于一个组),每组都是一个聚类,然后利用循环再定位技术变换聚类里面的对象,直到客观划分标准(常成为相似函数,如距离)最优为止。典型代表:K-MEANS, K-MEDOIDS。
  2. 层次的方法:层次的方法对给定的对象集合进行层次分解。分为2类:凝聚的和分裂的。凝聚的方法也叫自底向上的方法,即一开始将每个对象作为一个单独的簇,然后根据一定标准进行合并,直到所有对象合并为一个簇或达到终止条件为止。分裂的方法也叫自顶向下的方法,即一开始将所有对象放到一个簇中,然后进行分裂,直到所有对象都成为单独的一个簇或达到终止条件为止。典型代表:CURE,BIRCH。
  3. 基于密度的方法:基于密度的方法即不断增长所获得的聚类直到邻近(对象)密度超过一定的阀值(如一个聚类中的对象数或一个给定半径内必须包含至少的对象数)为止。典型代表:DBSCAN,OPTICS。
  4. 基于网格的方法:基于网格的方法即将对象空间划分为有限数目的单元以形成网格结构。所有聚类操作都在这一网格结构上进行。典型代表:STING。
  5. 基于模型的方法:基于模型的方法即为每个聚类假设一个模型,然后按照模型去发现符合的对像。这样的方法经常基于这样的假设:数据是根据潜在的概率分布生成的。主要有2类:统计学方法和神经网络方法。典型代表:COBWEB,SOMS。

常用的聚类分析算法

  1. K-Means:K-均值聚类也称为快速聚类算法,在最小误差函数的基础上将数据划分为预定的类数K,该算法原理简单并便于处理大量数据。
  2. K-中心点:对孤立点的敏感性,不采用促中对象的平均值作为簇中心,采用离平均值最近的对象作为中心。
  3. 系统聚类:也称为多层次聚类,分类的单位由高到低呈树形结构,所处的位置越低,其所包含的对象越少,对象间的共同特征越多,适合小数据量的时候使用。数据量大速度比较慢

K-Means聚类算法

1.算法过程

  1. 从N个样本数据中随机选取K个对象作为初始的聚类中心
  2. 分别计算每个样本到聚类中心的距离,将对象分配到距离最近的聚类中
  3. 所有对象分配完成后,重新计算K个聚类的中心
  4. 与前一次计算得到的K个聚类中心比较,如果聚类中心发生变化,转过程2,否则5.
  5. 当质心不发生变化时停止并输出聚类结果
    小问题:聚类的结果可能依赖于初始聚类中心的随机选择,可能使结果严重偏离全局最优分类。
    优化:实践中,为了得到较好结果,通常选择不同的初始聚类中心,多次运行K-Means算法。

你可能感兴趣的:(聚类分析初识)