当前位置:   article > 正文

风控必学|肘部法与客户分群——客户画像中的聚类与特征画像分析_spss 手肘图

spss 手肘图

客户聚类分析,在信贷圈子里,是一种很常见的数据挖掘场景,对于从事金融数据分析岗位的我们,也是需要必备掌握能力之一。无论是策略分析岗,还是数据建模岗,或者是数据分析岗,客户样本的分群画像,在某些程度上来讲,是我们实际工作中比较基础的内容,但又是需要有业务经验支撑的综合能力体现。

客户分群,从原理上分析是比较简单的,也就是将一批样本用户根据特点进行分类,然后根据特征分布进行客户画像。这不仅有利于公司对自营产品流量的整体了解,而且为风控流程提供客户分层的数据参考,另外在客户管理方面可以实现精准营销,从这几个典型应用可以看出,客户分群的聚类分析,在实际业务中的贡献价值是非常大的。客户分群的实现,比较靠谱的方法是通过机器学习算法来训练模型,而不是简单地依靠经验来主观判断。大家也了解机器学习模型分为有监督模型和无监督模型,而这两类算法也都可以实现客户分群的过程。但是,对于我们比较熟悉的信贷场景,比如贷前或贷中环节,在客户的贷后表现数据还未产生时,我们只能根据所谓的X特征来进行客户分群,这时我们经常采用的是无监督算法中的聚类模型,而聚类模型最常用的是K-means聚类。

当我们理解了前边介绍的业务背景后,这里有一个重要的问题是我们特别关注的,也是我们本文想和大家分享的主题要点,就是客户聚类的最终数量多少才算合适。虽然有些时候,我们对客户分群的数量是按照公司老板指示,或者相关部门的任务要求定下来的,但是在多数场景下,我们是没有明确目标来直接划分客群的,这时候我们就需要通过对样本数据进行客观分析来得到具体分类的数量,而且是有实际解释意义的值。我们就以K-means(K均值)聚类来实现客户分群,比较形象的说,是如何确定这个K值,接下来我们就结合实际案例来梳理下K值的分析过程,并介绍下客户群体划分后的特征画像。

1、案例样本数据
我们先来了解下样本数据的概况,本案例数据共有3000条样本,5个特征字段,包含1个id主键,以及4个X变量,分别为年龄(age)、性别(gender)、学历程度(education)、住房类型(house),取前10条样本数据如图1所示。
在这里插入图片描述
图1 样本数据

由上图数据样例可知,样本是没有Y字段的,我们需要根据特征age、gender、education、house的分布特点来进行客户分群,我们通过代码来输出各字段的取值分布,具体如图2所示。
在这里插入图片描述
图2 特征分布

2、特征数据处理
在采用K-means聚类算法分析之前,我们需要注意的是,K-means的原理逻辑是以距离作为样本间相似度的度量标准,将距离相近的样本分配到同一个类别。样本间距离的计算方式可以是欧式距离、曼哈顿距离、余弦相似度等,K-means算法通常采用欧氏距离来度量各样本间的距离,而得到距离的前提条件是特征类型必须是数值型。因此,本案例样本中的变量gender、education、house,需要进行特征转换,将字符型转为数值型。由于原特征education、house属于有序分类型变量,这里根据实际业务的信息比较含义,可以采用特征标签编码方式进行数据处理,具体逻辑如图3所示。
在这里插入图片描述
在这里插入图片描述
图3 特征编码

当特征完成编码后,针对数据处理环节,大家还需要注意另外一个细节,如果各个特征的取值范围差异性较大,会对样本间的距离结果造成很大的干扰。例如,本案例样本的变量age的取值范围为1951,而变量house的取值范围为14,那么在欧式距离的计算过程中,age的数值权重明显高于house,这显然不符合实际业务理解。因此,为了避免这种情况的出现,我们往往在聚类模型训练之前,将所有参与聚类的特征进行标准化处理。当然,变量标准化的实现方法,如min-max或z-score都是可以的。

以上关于特征编码与特征标准化的数据处理过程,针对本样本数据案例,具体的实现代码如图4所示,其中特征标准化处理采用了min-max算法。
在这里插入图片描述
图4 特征处理

3、聚类数量确定
当样本数据经过前边处理之后,下面便是K-means聚类的一个重点,那就是聚类数量K如何来确定。我们这里排除从实际业务需求直接指定的分类数量,而是根据样本分布来寻找合适的K值。在实际业务场景中,我们往往采用的是“肘部法”可视化分析,下面先简单描述下原理逻辑。
肘部法的核心思想是随着聚类数K的增大,样本数据会划分的更为精细准确,促使每个分类簇的聚合程度提高,从而导致聚类效果指标SSE(误差平方和)逐渐变小。当K值小于最佳聚类数量时,K值的增大会较大幅度增加每个分类簇的聚合程度,这样SSE的下降幅度也会很大;当K值达到最佳聚类数量时,此时再增加K值所得到的聚合程度,SSE的下降幅度会骤减,而且随着K值的持续增大而逐渐趋于平缓。这个过程反映在K值与指标SSE的关系图上是一个类似“手肘”的形状,而这个肘部对应的K值就是样本数据的最佳聚类数量。
理解了“肘部法”的原理逻辑后,我们来通过代码来实现这个过程,具体代码如图5所示,生成的可视化结果如图6所示,横纵坐标分别为K值与SSE误差平方和。
在这里插入图片描述
图5 肘部法确定K值

在这里插入图片描述
图6 K与SSE关系图

从图5可知,K-means聚类的K值与指标SSE的数据分布关系,非常类似一个“手肘”的形状,且肘部对应的拐点很明显是K=4,说明本案例样本数据如果采用K-means进行聚类,分为4类较为合适。下面我们通过K-mean算法指定4类进行模型训练,并将各聚类簇的标签和种子中心输出,具体代码如图6所示。
在这里插入图片描述
图7 K-means聚类模型训练

4、聚类客户画像
将样本数据分为4个合适的类别后,接下来我们需要对每个客群的数据分布进行分析,主要包括以下两个方面:
1、频数分布:各簇的样本量是否合适,如果各簇数量差异过大,显然在实际场景中没有太多的应用价值;
2、均值分布:各簇的数据均值可以直接体现样本的特点,便于针对客户群体进行画像描述分析,此外最大值最小值仅作为参考。
通过图8代码定义输出聚类各簇的频数、占比,以及各特征的样本均值。
在这里插入图片描述
图8 聚类各簇分布实现

依次调用type( )函数可以输出聚类各簇的特征分布结果,具体如图9所示。

在这里插入图片描述
图9 各簇样本特征分布

根据以上结果可以看出,各客户群体的频数分布是比较合理的,均具有一定业务代表性。下面我们结合实际场景情况,以及图3的特征编码字典,来对各个客群作个简单画像分析:
客群1:年龄平均约为29岁,全部男性,学历程度平均为专科,住房类型多数亲属楼宇或集体宿舍等;
客群2:年龄平均约为28岁,全部女性,学历程度平均为专科,住房类型多数亲属楼宇或集体宿舍等;
客群3:年龄平均约为32岁,全部女性,学历程度平均为专科,住房类型多数为自置无按揭;
客群4:年龄平均约为32岁,全部男性,学历程度平均为专科,住房类型多数为自置无按揭。
从客群画像描述可知,各客群的学历程度基本相当;从年龄或住房类型角度看,客群1、2与客群3、4分别可以归为一类;从性别角度看,客群1、4与客群2、3分别可以归为一类。在聚类分析的4个变量中,house(住房类型)是可以最直接体现出客户资产能力的特征,因此客群3、4具有很高的营销价值。此外,从age(年龄)分布也可以看出,这类客群的稳定性相比客群1、2要表现较好。
以上内容便是围绕客户分群的实际业务场景,结合具体的案例分析,给大家介绍了客户聚类分析的业务背景、K-means聚类的K值确定、数据处理的特征编码与标准化,以及聚类结果的客户画像分析。为了便于大家进一步理解与掌握本文关于客户聚类的分析过程,我们准备了与以上案例内容同步的样本数据与Python代码,供各位童鞋实操练习,详情请大家移步至知识星球查看相关内容。
在这里插入图片描述
在这里插入图片描述

~原创文章

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/755310
推荐阅读
相关标签
  

闽ICP备14008679号