python聚类分析结果很差_用最简单通俗的话解释聚类分析,看完不会来找我

本文介绍了聚类分析的基本概念,解释了为何直接使用平均值划分数据可能导致错误,并通过K-Means聚类法提供了一个简单的实例说明。聚类与分类的不同在于其依赖于算法发现数据的内在联系,而非预设分类标准。在数据分析中,聚类方法如K-Means被广泛应用于数据挖掘和探索数据的潜在差异。
摘要由CSDN通过智能技术生成

经常有人问我,数据分析师和算法工程师有什么区别?我不说别的,我就从薪资分析给你们看一下:

在开始我们今天的分享之前,先看一个实际业务分析场景中的例子:

某零售公司在市面上主要有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、H4、重新选择新的数据中心

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

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

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

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

第一组:A、B第二组:C、D、E、F、G、H6、再次重新选择数据中心

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

第一组有两个值,平均坐标为(0.5 ,1),这是第一个新的数据中心,命名为O第二组有六个值,平均值为(5.8 , 5.6),这是第二个新的数据中心,命名为Q7、再次计算其他数据与新数据中心的距离

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

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

8、方法总结

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

实际中怎么用聚类

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

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

给出聚类数和距离方式,就可以迅速得出聚合结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值