r聚类算法
❶ 客户分群
一、什么是客户分群?
将现有消费群体按一定规则分成若干个特征鲜明的小群体,从而使得:
* 不同组别间特征差异明显;
* 同一群组内客户特征相似。
二、为什么要客户分群?
* 客户群体分化,大众化营销失去优势,精准化营销逐渐被认可;
* 可深入了解客户,提升消费者对品牌的黏性,提升销售的效率和效益;
* 减少不必要的营销经费和花费。
三、聚类算法:
1、层次聚类:
(1)过程:个体两两聚合(样本间距离)--小群体两两合并(群体间距离)--较大群体两两聚合(群体间距离)--形成一个大群体;
(2)优缺点:
a、不足:由于反复计算距离,运算速度较慢;
b、优点:
* 可以是分类或连续性变量
* 既可对变量聚类(R型聚类),也可对记录聚类(Q型聚类)
* 一次运行即可得到完整的分类序列
2、K-means聚类
(1)含义:将所有观测分成k个群体,是的群体间距离尽量大,同时群体内部的观测液袜樱的‘距离和’最小,由于运算简单,因此是目前流行的聚类方法。
(2)聚类步骤:设好袜定要分群的组数(K)--随机每组的中心--逐一计算每一记录到各组中心点的距离,将离中心最近的个体归到对应的组--重新计算均值,以此作为再次迭代的中心--用新的中心点重新对个体进行归组,及重复前面两步骤,直到达到要求
(3)优缺点:
a、优点:
* 速度快于层次聚类
* 内存占用小
b、不足:
* 只能对记录聚类,不能对变量聚类。
* 对初始聚类中心有一定的依赖性
* 由于要事先选定聚类数,所以要尝试多次,以找出最佳聚类。
2、EM算法:
(1)含义:最大期望(EM)算法是在概率模型中寻找参数最大似然估计,或最大后验估计的算法,其中概率模型依赖于无法观测的隐含变量。
(2)两步骤:
a、E步(Expectation)根据参数初始值或上一次迭代的模型参数来计算出隐含变量的后验概率,其实就是隐含变量的期望,作为隐含变量的现估计值。
b、M步(Maximization)将似然函数最大化以获得新的参数值。
注意:似然函数最大化指组内距离平方和最小。
四、距离计算:
1、样本间距离计算:
(1)通用公式:闵可夫斯基距离
(2)欧式距离,即直线距离,p=2
(3)曼哈顿距闹丛离,折线距离,大于欧氏距离,p=1
(4)切比雪夫距离,p趋向无穷大,选最大距离
2、群体间距离
(1)最短距离法,指组间最近两个样本点的距离
(2)最长距离法,指组间最远两个样本点的距离
(3)重心法,群体先平均再求距离
(4)类平均法,群体先求距离再平均
五、变量选择:
1、基于业务场景选择变量
2、变量间相关性尽量低(无共线性),根据VIF和R square
3、具体可从人口统计学(个人信息数据)、商家的消费者数据(通过RFM衍生变量)、第三方行为数据(消费者的需求和兴趣)三个方面进行选择
六、如何预处理变量?
1、填充缺失值
首先确认是否错误,是否是零值;如果不是,Category可根据情况进行填充,Numeric数据可先Quantile,再用均值、中位数、线性插值等填充。
2、异常值处理
可用Caping-Floor将数据达到95%以内,(除非异常值有价值,需单独处理)
3、字符型变量转换处理
比如male 0,female 1
4、标准化(统一量纲),量纲不一致为导致距离计算的偏差
方法一:Z-Score标准化
sed(X)=(X-Xcap)/Sp
方法二:离差标准化
(x-min(x))/(max(x)-min(x))
七、初始中心点的选择
(1)选择彼此距离尽可能远的点作为中心点;
(2)先通过采样,基于层次聚类确定K个簇,以簇的中心点作为K-means的中心点输入
(3)多次随机选择中心点训练K-means,选择效果最好的聚类
❷ 5.2.2 K-Mean聚类算法
K-Means算法是典型的基于距离的非层次聚类算法,在最小化误差函数的基础上将数据换分为预定的类数K,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。
算法过程
连续属性
要先对各个属性值进行 零 - 均值规范,再进行距离计算。在K-Means中聚类算法中,一般需要度量样本之间的距离、样本与簇之间的距离、簇与簇之间的距离
零-均值规范化
也称为标准差标准化,经过处理的数据的均值为0,标准差为1。
转化公式: 当前使用最多的数据标准化方法
实践中,为得到较好的结果,通常选择不同初始聚类中心,多次运行K-Means算法。
在所有对象分配晌渣慎完成后,重新计算K个聚类的中心时,对于连续数据,聚类中心取该簇的均值,但当样本的某些属性是分类变量时,均值可能无定义,可梁敬以使用K-众数方法。宴敬
使用误差平法和SSE(sum of squared errors)作为度量聚类质量的目标函数,对于两种不同的聚类结果,选择误差平方和较小的分类结果
总结
分群1特点:R间隔相对较大,主要集中在30 80天;消费次数集中在0 15次;消费金额在:0~2000;
分群2特点:R间隔相对较小,主要集中在0 30天;消费次数集中在0 10次;消费金额在:0~1800;
分群3特点:R间隔相对较小,主要集中在0 30天;消费次数集中在10 25次;消费金额在:500~2000;
对比分析
分群3时间间隔短,消费次数多,消费金额大,是高消费、高价值人群。
分群2时间间隔、消费次数、消费金额中等水平,代表着一般价值客户。
分群1时间间隔长、消费次数较少、消费金额不是特别高,价值较低的客户群体。
❸ 常用的聚类方法有哪几种
聚类分析的算法可以分为划分法、层次法、基于密度的方法、基于网格的方法、基于模型的方法。
1、划分法,给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K<N。
2、层次法,这种方法对给定的数据集进行层次似的分解,直到某种条件满足为止。
3、基于密度的方法,基于密度的方法与其它方法的一个根本区别是:它不是基于各种各样的距离的,而是基于密度的。这样就能克服基于距离的算法只能发现“类圆形”的聚类的缺点。
4、图论聚类方法解决的第一步是建立与问题相适应的图,图的节点对应于被分析数据的最小单元,图的边(或弧)对应于最小处理单元数据之间的相似性度量。
5、基于网格的方法,这种方法首先将数据空间划分成为有限个单元的网格结构,所有的处理都是以单个的单元为对象的。
6、基于模型的方法,基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好的满足这个模型的数据集。
(3)r聚类算法扩展阅读:
在商业上,聚类可以帮助市场分析人员从消费者数据库中区分出不同的消费群体来,并且概括出每一类消费者的消费模式或者说习惯。
它作为数据挖掘中的一个模块,可以作为一个单独的工具以发现数据库中分布的一些深层的信息,并且概括出每一类的特点,或者把注意力放在某一个特定的类上以作进一步的分析;并且,聚类分析也可以作为数据挖掘算法中其他分析算法的一个预处理步骤。
许多聚类算法在小于 200 个数据对象的小数据集合上工作得很好;但是,一个大规模数据库可能包含几百万个对象,在这样的大数据集合样本上进行聚类可能会导致有偏的结果。
许多聚类算法在聚类分析中要求用户输入一定的参数,例如希望产生的簇的数目。聚类结果对于输入参数十分敏感。参数通常很难确定,特别是对于包含高维对象的数据集来说。这样不仅加重了用户的负担,也使得聚类的质量难以控制。