当前位置:网站首页>「经验」浅谈聚类分析在工作中的应用
「经验」浅谈聚类分析在工作中的应用
2022-06-30 17:00:00 【小火龙说数据】
预计阅读时间:8min
阅读建议:本文讲述了聚类的应用,总结了在实战中的一些经验,希望对你有所帮助。
解决痛点:聚类是什么?在数据分析中有什么价值?用什么方式来做聚类?每种方式的优缺点又是什么?希望你带着这些问题来看本篇文章。
00
序言
提到「聚类」,大家是否会想到「物以类聚、人以群分」呢,而这也正是聚类的本质含义。在工作中,聚类分析还是比较常见的,你是否遇到过以下这些问题?
- 用户划分:当产品做到一定量级,希望将用户划分为具有明显特征属性的细分群体,针对特定群体实施策略。
- 产品组合:随着公司产品的丰富,希望将产品按照价值和变现能力划分为不同的组合,并针对不同组合制定营销策略。
- 反作弊判断:用户在产品上的操作属于正常行为,而有些人为了谋取利益,采用机器等方式刷取数据,针对这种作弊行为,我们要如何发掘呢?
当遇到类似上述问题时,聚类分析便可施展拳脚。下面,小火龙会从聚类的实战应用为出发点,为大家揭开面纱。
01
聚类是什么
聚类是按照某种特定的规则(例如:距离远近),将数据集划分成不同的簇,使得相同簇中的个体相似性尽可能大,不同簇之间相似性尽可能小。在数据中的表现是,具有相似特征值的个体聚在一起的可能性大,反之可能性小。
Tips:计算距离的方式有很多种,列举几种常用的
欧氏距离
曼哈顿距离
余弦距离
「聚类」是没有先验知识的「无监督算法」,与其对应的「分类」则是「有监督算法」。有些同学可能会有一些晕,举个例子就很好理解:
分类问题
男性一定有喉结,因此只要有喉结的人,就是男性。其中,喉结就是先验知识,通过这个特征,就可以将人群分类为男性和女性。
聚类问题
对于我们的祖先,并没有男性和女性的区分,但通过特征,可以发现一部分人有喉结、另一部分没有,因此将有喉结的群体命名为男性。
下面介绍一个聚类在工作中的案例,帮助大家增强认知。
02
聚类的实战应用
在「策略推广」方向上,聚类可将目标群体进行分群,并对潜在人群进行扩充。因此应用方向包括但不限于:市场精准推广、潜在目标群体扩充等。下面,举一个案例:
某车企,在春节前,针对可能的目标群体「一线城市蓝领」下发微信广告推送,帮助提升车企的引流。但在通过用户行为聚类之后,发掘「二线城市白领」同样具备潜在购车的能力。因此,在推广过程中,扩充了目标群体的投放范围,提升引流效果。(具体应用步骤如下图)
03
常用聚类方式及优缺点
在介绍了聚类作用后,是否有小伙伴想要了解一下,聚类有哪些方式,如何实现,以及每种方式的优缺点,下面小火龙为大家做一个总结。
聚类模型的种类有很多,大致可以按照如下三个方向进行划分:
1. 模型的处理能力:处理不同分布形状的能力;处理异常点的能力;处理大数据量级的能力等。
2. 模型是否需要预设参数:是否需要给出类别数量等。
3. 模型对数据输入的要求:数据输入的顺序对模型是否有影响;模型对于特征的类型是否有要求等。
根据以上分类,聚类模型大体可以划分为以下几类:
介于篇幅原因,小火龙挑取了三种常用的模型进行阐述(图中红色部分)。
1、基于层次的方法 - 层次聚类
1. 模型原理
层次聚类包含两种方式,「凝聚型层次聚类」和「分裂型层次聚类」。凝聚型层次聚类是层次聚类中较常用的方式,其核心原理是,初始假设每个个体都是一类,每一次迭代会合并最相近的点,当所有点都合并成一类或者满足停止条件时,则终止模型迭代,是一种自下而上的方式。与之相对应的分裂型层次聚类,则是以相反自下而上的方式进行迭代,最终输出结果。
2. 模型流程
以「凝聚型层次聚类」为例:
步骤1:每个点作为一类,计算两点之间的距离;
步骤2:将距离最近的点合并到一起,形成新的类,并计算类的质心;
步骤3:重复第1、2步骤,直至满足条件。
3. 模型优缺点
[优点]
- 模型解释能力较强
- 无需设定K(可作为K-means聚类探索K的先验算法)
- 对于K-means不擅长的非球形点处理的较好
[缺点]
- 时间复杂度较高,运行慢
- 无法解决非凸对象分布
2、基于划分的方法 - K-means聚类
1. 模型原理
其思想有一些类似于「凝聚型层次聚类」,但在开始模型之前,需要预先输入最终聚类簇的个数K,然后初始挑选几个点作为质心,再接着将相近的点进行合并,并形成新的质心,迭代的原则是「类内点距足够近,类间点距足够远」,直至最终符合簇的数量。
至于K的选择,可以通过「肘部法则」、「轮廓系数」等方式进行评估,这里不多介绍,会在后面的文章中写一写。
2. 模型流程
步骤1:随机选择K个对象,作为K个簇的初始质心(由于K是随机的,因此K-means聚类每次的结果会出现差异);
步骤2:与质心相近的对象,合并成一类,并迭代出新的质心;
步骤3:重复第1、2步骤,直至满足K个簇的条件。
3. 模型优缺点
[优点]
- 时间复杂度及空间复杂度较低,运行快
[缺点]
- 对于初始质心的原则较敏感
- 对噪声较敏感,会被带偏
- 容易出现局部最优解的情况
- 无法解决非凸对象分布
3、基于密度的方法 - DBSCAN聚类
1. 模型原理
以上两种方式均无法处理不规则形状的聚类,而DBSCAN基于密度的方法可以很好的解决,并且对于噪音数据比较友好。其核心原理讲通俗点,就是通过每个点画圈的方式,与周边的点发生联系,如果满足一定规则则将其纳入本类当中,直至满足迭代要求。
其中规则主要为两个参数,一个是圈圈的最大半径(eps),另一个是圈内最少应容纳几个点(MinPts)。以下是DBSCAN聚类所形成的效果图。
2. 模型流程
步骤1:从任意点p开始;
步骤2:寻找并合并p直径范围以内的对象;
步骤3:如果p为核心点,则形成一个聚类;如果p为边界点,即:不符合最少容纳点的要求,则重新寻找下一个对象点;
步骤4:重复第2、3步骤,直至覆盖所有对象。
3. 模型优缺点
[优点]
- 满足任意形状的聚类
- 对于噪声不敏感
[缺点]
- 聚类结果与初始设定值有直接关系
- 由于值是固定的,因此对于稀疏不同的对象分布不太友好
以上就是本期的内容分享,希望能让你对聚类分析有一个比较清晰的认知。
边栏推荐
- Tsinghua only ranks third? 2022 release of AI major ranking of Chinese Universities of soft science
- 大佬们目前flinksql, cdcmysql跟Kafka双流join,结果放到mysql 或者ka
- Redis (IX) - enterprise level solution (II)
- Lenovo's "dual platform" operation and maintenance solution helps to comprehensively improve the intelligent management ability of the intelligent medical industry
- ABAP-发布Restful服务
- Force deduction solution summary 1175- prime number arrangement
- Deep understanding of JVM (III) - memory structure (III)
- Nft: unlimited possibilities to open the era of encryption Art
- Research on the principle of Tencent persistence framework mmkv
- 联想“双平台”运维解决方案 助力智慧医疗行业智慧管理能力全面提升
猜你喜欢

基于SSH的通讯网络电子计费系统
![[PROJECT] Xiaomao school (IX)](/img/01/f7fc609e7a156d6e60ce6482ba2ac1.jpg)
[PROJECT] Xiaomao school (IX)

火山引擎入选国内首个《边缘计算产业全景图》

TCP session hijacking based on hunt1.5

Simulation of campus network design based on ENSP

AnimeSR:可学习的降质算子与新的真实世界动漫VSR数据集

MIT science and Technology Review released the list of innovators under the age of 35 in 2022, including alphafold authors, etc

Deep understanding of JVM (II) - memory structure (II)

Post office - post office issues (dynamic planning)

In distributed scenarios, do you know how to generate unique IDs?
随机推荐
Optimization of interface display for general kernel upgrade of mobo video management system v3.5.0
Elastic 8.0: opening a new era of speed, scale, relevance and simplicity
Optimize with netcorebeauty Net core independent deployment directory structure
剑指 Offer 16. 数值的整数次方
LeetCode之合并二叉树
助力极致体验,火山引擎边缘计算最佳实践
uni-app进阶之内嵌应用【day14】
Synchronized summary
ABAP publish restful service
Openlayers roller shutter map
MIT科技评论2022年35岁以下创新者名单发布,含AlphaFold作者等
Helping the ultimate experience, best practice of volcano engine edge computing
Advanced customization of uni app [day13]
ASP. Net authentication code login
The new Post-00 Software Test Engineer in 2022 is a champion
Tensorflow2 深度学习十必知
uni-app进阶之自定义【day13】
Unity实战之一个脚本实现雷达图
Redis (I) - data type
Distributed machine learning: model average Ma and elastic average easgd (pyspark)