设为首页收藏本站

JMP数据分析论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2011|回复: 6
打印 上一主题 下一主题

如何进行聚类分析!

  [复制链接]
跳转到指定楼层
楼主
发表于 2017-12-6 14:30:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10月份我们曾经为大家简单普及了数据挖掘常见的分类分析和聚类分析的区别,今天,我们来与大家继续聊聊实现聚类分析常见的方法。

我们还是先回顾看下什么是聚类。

所谓聚类,就是将相似的事物聚集在一起,而将不相似的事物划分到不同的类别的过程,即:将那些具有相似性数据成员聚合并组织的过程。

在聚类分析的过程中,我们的目标是在相似的基础上收集数据来分类,通过对这些数据进行描述,衡量不同数据源间的相似性,以及把数据源分类到不同的类别中。

既然聚类分析是将数据基于他们的相似性进行分类的归类过程,那么我们就需要一个指标去度量每个变量同其他变量的相似度,这个指标就是距离。通过距离指标,我们将距离接近的样本归为一类,距离较远的样本则被认为是不同类别,这样就很好地实现了聚类分析。

层次聚类和K-Means聚类就是两种典型的通过距离来进行样本归类的算法,也是我们日常工作中最为常规的聚类方法。下面,就跟着JMP一起来看看这两种方法具体是如何工作的。

首先,我们来看看什么是层次聚类。

层次聚类,顾名思义就是要一层一层地进行聚类,可以从下而上地将每一个样本进行合并聚集,最终形成适合的类别;也可以从上而下地将整体数据作为一个类别,然后逐步地划分为适合的类别。

就以从下而上的聚合算法为例,在整个聚类的过程中,就是每次找到距离最短的两个类,然后进行合并成一个大的类,直到全部合并为一个类。整个过程就是建立一个类似树的层次结构,如下图所示:


图1:层次聚类的树型图

当我们得到这个树之后,我们就可以根据每次类别聚合过程中距离的变化来判断这些样本数据分类的个数。

如果在合并的过程中,有两个类的距离会有一个陡增,我们则认为该步骤产生的类别个数是适合的类别数量,即如果数据应该被分为K个类别时,这K个类别之间有明显的距离间隙;反之,如果合并的两个小 cluster同属于一个目标cluster,那么它们的距离间隙就不会太大;但当合并出来K个类别后,再进行合并,就是在这K个 类别间进行合并了,这样合并的类的距离就会有一个非常明显的突变,如下图所示:


图2:层次聚类过程的距离图

在层次聚类过程中,它一次性地得到了整个聚类的过程,只要得到了图1所示聚类树,想要分多少个类都可以直接根据树结构来得到结果,改变类数目不需要再次计算数据点的归属。

但是,在进行层次聚类过程中,我们需要从下而上,计算所有数据点的两两距离,然后将他们逐步进行分类聚合,所以当数据样本数量过大的时候,层次聚类的计算量就显得效率不高了。因此一般而言,只有数据样本数量在200以下时,我们才会选择层次聚类的方法,当数据样本数量过大时,我们就需要考虑其他的聚类方法啦,比如我们下面要隆重介绍的K-Means方法。

同层次聚类相比,K-Means聚类的计算效率就快的多啦!

在K-Means聚类计算中,我们将数据划分为几个类,然后找到各个类的中心,然后通过计算每个数据点到各个类中心的距离,将各个数据分配到各个类中。整个K-Means聚类的计算过程,如下图所示:


图3:K-Means聚类的计算过程

通过对K-Means聚类计算过程的描述,我们发现:如果我们需要进行K-Means聚类分析,首先第一步就必须用户事先给出聚类数目K,而这个往往是很难判断的;特别是当类别的数量设置的和实际数据不符的情况下,就会使得本应同一个类别的数据被判定为属于两个大的类别,往往对我们的后续研究造成影响。

但当我们使用JMP进行K-Means聚类进行聚类分析的时候,就会欣喜地发现,在JMP中,我们可以指定的不单单是一类别数量,而是一定范围的类别。设置了这个范围之后,JMP会自动地计算这一范围的聚类分析,然后通过比较,给出一个适合的类别数,从而帮助我们得到一个适合的类别数。


图4:JMP的K-Means计算界面


聚类分析,作为一种成熟的统计学方法,现已在市场营销及相关领域中得到恰当的应用。通过运用聚类分析,可以帮助用户改善市场营销的效果,为企业决策提供有益的参考。例如在客户细分中,我们可以针对不同的客户有不同的消费特点进行客户细分,帮助企业可以制定出不同的营销组合,从而获取最大的消费者价值,这就是客户细分的主要目的。

RFM模型就是一种应用广泛的聚类分析模型,在RFM中,通过一个客户的近期购买行为、购买的总体频率以及花了多少钱三个维度对客户进行分类,从而为不同类别客户指定适合的客户服务体系和营销活动体系。RFM模型如下图所示:
图5:RFM模型示意

通过RFM模型,我们根据客户在消费频率,最近购买行为和消费金额上的表现,将客户分成不同的类别,然后就可以基于不同类别客户的重要程度进行相应的市场拓展活动了。


图6:基于RFM模型的客户分类

除了在市场营销及相关领域之外,只要我们拥有大量的数据,我们都可以使用聚类分析对大量的数据进行聚类分析,将大的数据进行更好的划分,从而对于数据进行更好的认识和分析。它是一种探索性分析方法,能够分析事物的内在特点和规律,并根据相似性原则对事物进行分组,也是当前应用最为广泛的数据挖掘方法之一。

从上可以看出,传统的基于距离的聚类算法已经比较成功地解决了低维数据的聚类问题。但是,当我们面对高维数据和大型数据的情况该怎么处理呢?

由于实际应用中数据的复杂性,使用传统聚类方法在对高维数据集中进行聚类时,主要会遇到以下两个问题:

  • 高维数据集中存在大量无关的属性,使得在所有维中存在类别的可能性几乎为零;
  • 高维空间中数据相比较低维空间中数据分布要稀疏,其中,数据间距离几乎相等是普遍现象,而传统聚类方法是基于距离进行聚类的,因此在高维空间中无法基于距离来构建类。


因此,新的聚类方法也孕育而生,在这些方法中,我们将使用密度、网格等其他的度量进行度量,从而更好地进行高维数据的距离分析。例如JMP的正态混合等方法,就可以用来进行基于密度的聚类分析。

关于这一点,如果大家感兴趣,我们将另开一篇文章与大家深入探讨具体应用。希望今天的内容可以对你有所启发,有所收获。

关注JMP官方微信公众号,了解JMP最新动态及实用技巧:





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  !connect_viewthread_share_to_qq!!connect_viewthread_share_to_qq! QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复

使用道具 举报

沙发
发表于 2017-12-6 21:50:37 | 只看该作者
感谢管理员的文章,学习了
回复 支持 反对

使用道具 举报

板凳
发表于 2017-12-7 13:07:00 | 只看该作者
能提供用JMP进行RFM分析的实际案例就更好了!!多谢
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2017-12-8 09:36:10 | 只看该作者
Mujahida 发表于 2017-12-7 13:07
能提供用JMP进行RFM分析的实际案例就更好了!!多谢

谢谢建议!之后的文章中,尽量让老师们加些案例。
回复 支持 反对

使用道具 举报

5#
发表于 2018-1-9 11:22:13 | 只看该作者
确实如楼上所言,经典案例才是吸引客户的有效手段。
回复 支持 反对

使用道具 举报

6#
发表于 2018-8-13 13:54:29 | 只看该作者
JMP的正态混合等方法,可以用来进行基于密度的聚类分析。
什么时候讲呀!!!
我这么热忱的学习速度已经完全碾压了老师的更新速度呀,能否快速更新呢,看帖子今年基本没有新的啦!!!
跪求大神们出现!!
求新帖,求新帖,求新帖!!!
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2018-8-13 16:14:26 | 只看该作者
初学者小白 发表于 2018-8-13 13:54
JMP的正态混合等方法,可以用来进行基于密度的聚类分析。
什么时候讲呀!!!
我这么热忱的学习速度已经 ...

谢谢建议!老师们目前比较忙碌,不过一定会考虑你的建议的。

如有其他想学习的文章,欢迎随时告知我们~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|JMP数据分析论坛 ( 沪ICP备13022603号-2 )  

GMT+8, 2024-4-25 05:18 , Processed in 0.413361 second(s), 16 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表