k-means,层次,EM聚类介绍

简介: k-means,层次,EM聚类介绍

1什么是客户分群

什么是分群?

将现有消费者群体按一定规则分成若干个小群
组, 使得:
• 不同组之间特征差异明显
• 同一群组内客户特征相似

为什么要分群?

1客户群体分化,大众化营销失去优势,精准化营销逐渐被认可
2深入了解客户,提升消费者对品牌的黏性,提升销售效率和绩效
3减少不必要的营销经费和促销花费

2 聚类分析方法论

客户分群的算法

有明确目标的我们一般会正对目标变量建立相应的模型 (响应/预测),用
模型评分做排序划分群组。
而无明确目标的,我们需要定性且定量的去描述相似/类似或者相异同的
“度”,统计上我们使用"距离"。

在这里插入图片描述
聚类分析的方法,其目标是尽量将相似的研究对象(客户)聚集在同一个类别(群体),
同时让相异的客户分布在不同群体
• 聚类分析的目的就是找出具有相似程度的点或类聚为一类,让类群内观测的距离
最近,同时不同群体之间的距离最大
• 常用的聚类分析方法:
在这里插入图片描述

3 样本间距离定义

在这里插入图片描述
群体间距离定义
在这里插入图片描述
在这里插入图片描述

4 层次聚类分析方法论

层次聚类概述

层次聚类也称系统聚类法,是根据个体间距离将个体向上两两聚合,再将聚合的小群体两两聚合一直到聚为一个整体。
最终我们根据实际需要选定聚合的层级来确定我们要凝聚到的群体个数。

层次聚类的步骤详解

在这里插入图片描述

层次聚类的优缺点

优点
• 聚类变量可以是分类或连续型变量;
• 既可以对变量聚类(R型聚类),也可以对数据点/记录聚类(Q型聚
类); • 一次运行即可得到完整的分类序列;
不足
• 由于反复计算距离,在样本量太大或变量较多时,层次聚类的运算速
度明显较慢

5 K-means聚类分析方法论

K-Means聚类概述

在这里插入图片描述

K-Means聚类步骤

在这里插入图片描述

K-Means聚类要点

1 变量如何选择
1 基于具体业务场景
2 多维度
3 相关性尽量低

2 如何预处理变量
1 缺失值填充
2 异常值处理
3 字符型变量转换处理
4 标准化

在这里插入图片描述
3 初始中心点的选择
K-Means算法的能够保证收敛,但不能保证收敛于全局最优点,当初始中心点选取不好时,只能达到局部最优点,整个聚类的效果也会比较差
1选择初始点的方法:
2 选择彼此距离尽可能远的那些点作为中心点
3先通过采样,基于层次法初步聚类输出k个簇,以簇的中心点的作为kmeans的中心点的输入
4 多次随机选择中心点训练k-means,选择效果最好的聚类结果

4 如何决定分群个数

1一般分群个数不会太大
2参考指标: • RSquare统计量:T为总离差平方和,𝑃𝑘 为组内离差平方和 𝑅2 = 1 − 𝑃𝑇𝐾 / Pseudo-F统计量:F = (𝑇−𝑃𝐾)/(𝐾−1) 𝑃𝐾/(𝑁−𝐾) ,总体上评价聚类效果
3 CCC(立方聚类准则):测量模型分类结果和随机分类结果的差别,差别越大,
分类效果越佳
4分群结果覆盖率
5分群结果稳定性
6 分群结果是否从商业上易于理解和执行

K-Means聚类的优缺点

优点
K均值聚类的速度快于层次聚类,是处理大型数据集聚类的常用方法
内存占用小
不足
只能对记录进行聚类,而不能对变量聚类;
对初始聚类中心有一定的依赖性;
由于要事先选定聚类数,所以要尝试多次,以找出最佳聚类

K-Means聚类 vs. 层次聚类

在这里插入图片描述

6 EM模型聚类分析方法论

EM模型聚类概述

什么是EM算法?
1最大期望(EM)算法是在概率模型中寻找参数最大似然估计或者最大后验估计的
算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)
2 K-means可以看作是EM模型聚类的一个特例
3EM算法的实施包含两个步骤
4E步(Expectation):根据参数初始值或上一次迭代的模型参数来计算出隐性
变量的后验概率,其实就是隐性变量的期望。作为隐藏变量的现估计值
5M步(Maximization):将似然函数最大化以获得新的参数值

EM模型聚类步骤

该算法比前面介绍的集中算法更抽象
E步:对每一个个体计算其属于每一类的后验概率
M步:基于极大似然估计更新每个类的概率分布函数
迭代执行以上E步和M步直至似然函数收敛
基于最大概率值确定每个个体所属的类

EM模型与K-Means的关系

K-Means其实是EM的一种体现
其目的是将样本分成K个类,就是求一个样本例的隐含类别y,然后利
用隐含类别将x归类。
E步是确定隐含类别变量。
M步更新其他参数来使每个样本点到其质心的距离平方和最小。

7 实战操作

下一章节将使用R详细跑一步一步进行聚类分析,敬请关注

目录
相关文章
|
监控
|
资源调度 分布式计算 Java
Flink(三)【运行时架构】
Flink(三)【运行时架构】
|
Web App开发 编解码 Linux
FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
音视频技术广泛应用于直播系统,涵盖电视、电脑、手机直播等多种形式,并延伸至在线教育、医疗咨询和安全监控等领域。直播系统涉及实时编解码与传输,技术实现较复杂。从用户角度看,直播系统分为来源方和观看方,但在开发者视角下还需加入云平台作为中转。本文提出一套基于全开源软件的直播系统架构,分为三层:开源直播录制软件(如OBS Studio、RTMP Streamer),开源流媒体服务器(如SRS、ZLMediaKit),以及开源音视频播放器(如VLC media player、ExoPlayer)。这些组件共同构成一个高效、灵活且成本低廉的直播解决方案。
760 1
FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】K-means 聚类算法在 Python 中的实现
【4月更文挑战第30天】K-means 是一种常见的聚类算法,用于将数据集划分为 K 个簇。其基本流程包括初始化簇中心、分配数据点、更新簇中心并重复此过程直到收敛。在 Python 中实现 K-means 包括数据准备、定义距离函数、初始化、迭代和输出结果。虽然算法简单高效,但它需要预先设定 K 值,且对初始点选择敏感,可能陷入局部最优。广泛应用在市场分析、图像分割等场景。理解原理与实现对应用聚类分析至关重要。
948 1
|
负载均衡 Java API
Java微服务架构中的API网关设计与实现
Java微服务架构中的API网关设计与实现
|
机器学习/深度学习 算法 数据挖掘
Python实现聚类(Kmeans)分析客户分组
Python实现聚类(Kmeans)分析客户分组
Python实现聚类(Kmeans)分析客户分组
Conda 修改下载包路径
Conda 修改下载包路径
571 0
|
机器学习/深度学习 数据采集 算法
精准用户画像!商城用户分群2.0!⛵
客户分群(客户细分)对于绘制用户画像、构建个性化推广、产品和服务策略,都非常重要。本文讲解此过程中,多种机器学习聚类算法的建模流程与评估模式。
1355 2
精准用户画像!商城用户分群2.0!⛵
List根据条件删除元素的几种方式
List根据条件删除元素的几种方式
453 0
|
缓存 Shell API
作者推荐 | 一文深度解读 — 彻底认识与理解微服务技术之Rest与Restful架构精髓
作者推荐 | 一文深度解读 — 彻底认识与理解微服务技术之Rest与Restful架构精髓
1204 0