在今天这样一个信息爆炸的时代,各行各业都享受着大数据给人们带来的便利。同时人们对于各种消费体验的要求也越来越高,而这也成为了很多企业竞争的方向。为了能更好的服务于消费者,企业需要更好的了解消费者的消费偏好,因人而异地制定不同的营销策略,只有这样才能让客户拥有一个比较好的消费体验,更好的留住客户。而我们要如何才能做到利用大数据来了解客户呢,聚类则是其中最好的应用算法。

    聚类是将物理或者抽象的一个对象集合表示成由相似的对象组成的多个类的过程。其中每个类我们称为簇,聚类的结果是由多个数据对象组成的簇,每一个簇中的所有对象有比较大的相似性,而不同的簇中的对象有着很大的差异性。聚类的目的就是通过数据挖掘的手段帮助我们发现客观事物中存在的我们难以发现的潜在的群体特性并将这些事物按照这些特性将相似性高的事物形成一个类,差异大的事物分成不同的类。通过这样的处理以后,就能帮助市场分析人员更好的了解不同的客户群,每个客户群都有其不同的特征,进而根据这些不同特征对不同的客户群制定不同的方案。

    聚类不同于我们传统意义上的分类。聚类是并不知道要将对象分成哪些类,只是按照某种度量方式计算对象之间的相似度,将相似性高的对象分成一类,对于聚类的结果是无法预知的。而分类是按照既定的多种标准将对象分别归类到其所属的已制定好归类标准的类别中,对于最终的类别数和类别特征是预先已经制定好的。

    在各种聚类算法中,传统的聚类方法主要分为四种:基于划分的聚类、基于层次的聚类、基于密度的聚类、基于网格的聚类。本文介绍一种聚类方法——基于层次的聚类。

    基于层次的聚类主要分为两类:合并的层次聚类和分裂的层次聚类。前一种是自底向上的一种层次算法,其核心思想是通过合并最相似的两个聚类来形成上一层中的聚类,然后再计算新的聚类的中心并合并最相似的两个新的聚类,如此往复循环直到把所有的数据点都合并成一个聚类或者达到某个停止条件才结束,大部分的层次聚类算法都是采用的这种方法。另一种是一种自顶向下的层次算法,该方法是从一个包含全部数据点的聚类开始,将现有的聚类分裂成不同的子聚类,再将这些子聚类如此递归的分裂下去,直到出现每个聚类中只包含一个数据点的时候结束。

    其算法流程如下(自底向上):

图1  层次聚类算法流程

    优点:层次聚类较大的优点是它一次性地得到了整个聚类的过程,聚类完成后可以得到一个聚类树,可以在这个聚类树上直接根据树结构来得到想要的聚类数的聚类结果,改变聚类数的数目并不需要再次计算数据点的归属,且处理速度很快。

    缺点:层次聚类的缺点是计算量比较大,因为要每次都要计算多个聚类中所有数据点的两两距离,对于处理高纬度的数据比较复杂。


©著作权归作者所有:来自51CTO博客作者mob604756f3c518的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 3-23(类与对象终结)
  2. 对vSAN使用较小的磁盘大小可能会导致VM故障
  3. [iOS初级教程之三]Crash分析实践
  4. 路由中$route 和 $router 的区别
  5. Python开发中字典和json有什么区别?
  6. 深入了解Serializable接口
  7. 9.0java_面向对象之封装(面向对象概述)
  8. 9.1java_面向对象之封装(类与对象)
  9. Shiro源码分析---FilterChain创建过程

随机推荐

  1. android:gravity和android:layout_gravit
  2. android之buttonBar的设计--style的引用
  3. 如何自学 Android 编程?(励志)
  4. Android(安卓)- 文件读写操作 总结
  5. android发现之旅之ViewRootImpl,Activity
  6. 谷歌推出新操作系统Andromeda,那Android真
  7. Android(安卓)Location服务之Geocoder
  8. Android USB状态监控(解决scheme="file")
  9. Android高手进阶教程(五)之----Android(
  10. Android夜间模式实现,通过在window上加一