打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用最简单通俗的话解释聚类分析,看完不会来找我

某零售公司在市面上主要有30款产品,这些产品的类别、销售量和销售额的差异很大,于是该公司的业务分析师想按照一定的标准,将30个产品划分为A、B、C三个等级,以便公司进行产品战略规划,那么他应该怎么做呢?

很多人可能会想到套用波士顿矩阵,以销售量和销售额为横纵坐标轴,计算中心轴,将每个产品落入矩阵当中,就能得到大体的产品分类情况。

好像看上去没问题对不对?但是在实际情况中,很多人这样做出来的却是错误的,为什么呢?

其实这种思路是对的,但是很多人都忽略了一个最关键的问题:应该用什么标准去衡量和判断中心轴的划分

很多人都会选择直接拉取数据的平均值作为中心轴,然而这种分类方法在实际中可能会造成数据的误判,因为类别的不同,数据之间的差异可能会呈现出族群的现象,这时候有些数据就可能会“鱼目混珠”地混入其他类别之中。

比如,我们可以举个很极限的例子,有A、B、C三个产品的销售量分别为100、50、1,很显然A、B产品为一类,C产品为一类;但是如果按照平均值151/3=50.03,划分之后A为一类,B与C划分到了一类。

怎么样,是不是很奇怪,这时就要用到我们今天要介绍的分类分析方法——聚类。

什么是聚类分析?

聚类原本是统计学上的概念,现在属于机器学习中非监督学习的范畴,大多都被应用在数据挖掘、数据分析的领域,简单说可以用一个词概括——物以类聚。

如果把人和其他动物放在一起比较,你可以很轻松地找到一些判断特征,比如肢体、嘴巴、耳朵、皮毛等等,根据判断指标之间的差距大小划分出某一类为人,某一类为狗,某一类为鱼等等,这就是聚类。

从定义上讲,聚类就是针对大量数据或者样品,根据数据本身的特性研究分类方法,并遵循这个分类方法对数据进行合理的分类,最终将相似数据分为一组,也就是“同类相同、异类相异”。

聚类不是分类

说到这里,可能有人会觉得聚类不就是分类嘛,而其实在严格意义上,聚类与分类并不是一回事,两者有着很大的差异。

分类是按照已定的程序模式和标准进行判断划分,比如我们开头提到的例子,我们直接规定把数据的平均值作为中心轴,那么我们的工作就剩下了一个:判断每一个数据是否达到平均值

也就是说,在进行分类之前,我们事先已经有了一套数据划分标准,只需要严格按照标准进行数据分组就可以了。

而聚类则不同,我们并不知道具体的划分标准,要靠算法进行判断数据之间的相似性,把相似的数据放在一起,也就是说聚类最关键的工作是:探索和挖掘数据中的潜在差异和联系。

在聚类的结论出来之前,我完全不知道每一类有什么特点,一定要根据聚类的结果通过人的经验来分析,看看聚成的这一类大概有什么特点。

聚类的方法

知道了聚类的含义,那么我们具体要怎么对数据进行聚类呢?

聚类方法有很多,但是我们数据分析中常用的就是K-Mcans聚类法,这种方法很简单,也很有效,在很多分析软件上都能进行算法计算。

简答拿一个例子介绍一下K-Mcans聚类法的原理和过程:

1、确定分组数

K-Mcans聚类法中的K就是分组数,也就是我们希望通过聚类后得到多少个组类。比如我有下面六个数据,想要将这些数据分成两类,那么K=2 。

2、随机选择K个值作为数据中心

这个数据中心的选择是完全随机的,也就是说怎么选择都无所谓,因为这里K=2,所以我们就以A和B两个为数据中心。

为了方便理解,我们可以制作一个散点图,将A、B作为数据中心。

3、计算其他数值与数据中心的“距离”

既然选择了数据中心,那么它们的周围一定会有很多相似数据,怎么判断这些数据与其是不是相似呢?

这里我们要引入欧氏距离的概念,通俗点说欧氏距离就是多维空间中各个点之间的绝对距离,表明两点之间的距离远近,其公式为:

如果是普通的二维数据,这个公式就直接变成了勾股定理,因此我们算出其他6个点距离A和B的距离,谁离得更近,谁与数据中心就是同一类。

所以,我们可以看出,C-H距离B的距离都比距离A更近,所以第一次分组为:

  • 第一组:A
  • 第二组:B、C、D、E、F、G、H

4、重新选择新的数据中心

得到了第一次分组的结果,我们再重复前两个步骤,重新选择每一组数据的数据中心。

  • 第一组只有A,所以A仍然是数据中心;
  • 第二组有7个数值,将这个7个数值的平均值作为新的数据中心,我们将其命名为P,计算平均坐标为(5.14 ,5.14)

5、再次计算其他数据与新数据中心的距离

还是直接计算勾股定理,计算出其他数据与A和P的欧氏距离,如下:

我们可以看出这里面有的距离A近,有的距离P近,于是第二次分组为:

  • 第一组:A、B
  • 第二组:C、D、E、F、G、H

6、再次重新选择数据中心

这里就是老规矩了,继续重复前面的操作,将每一组数据的平均值作为数据中心:

  • 第一组有两个值,平均坐标为(0.5 ,1),这是第一个新的数据中心,命名为O
  • 第二组有六个值,平均值为(5.8 , 5.6),这是第二个新的数据中心,命名为Q

7、再次计算其他数据与新数据中心的距离

这时候我们发现,只有A与B距离O的距离更近,其他6个数据都距离Q更近,因此第三次分组为:

  • 第一组:A、B
  • 第二组:C、D、E、F、G、H

经过这次计算我们发现分组情况并没有变化,这就说明我们的计算收敛已经结束了,不需要继续进行分组了,最终数据成功按照相似性分成了两组。

8、方法总结

简单来说,我们一次次重复这样的选择数据中心-计算距离-分组-再次选择数据中心的流程,直到我们分组之后所有的数据都不会再变化了,也就得到了最终的聚合结果。

实际中怎么用聚类

明白了聚类分析的思路和方法,我们怎么应用到实际中去呢?面对大量数据的时候我们该怎么办呢?

其实很多分析软件中都有聚类分析的功能,比如Python、Excel等等,比如FineBI中的聚类功能,下次分析数据的时候应该知道这些名称是什么意思了吧?

给出聚类数和距离方式,就可以迅速得出聚合结果,大家可以点击左下角“了解更多”下载尝试一下。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【自动保存】python...
深度剖析:数据科学家需要了解的5种聚类算法
数据科学中必须熟知的5种聚类算法
Excel图表应用篇:聚类分析(1)
关于共现分析实际操作的通信
数据挖掘:基于R语言的实战 | 第5章:聚类分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服