• 破局存量客群营销,试一下客户分群管理(含聚类模型等实操效果评估)


    信贷场景下的客户分群,在实际业务中有着非常重要的意义,例如存量客群营销、客户价值管理、产品精准营销、风控层次部署等,都会依据不同类别客户的合理划分。客户群体的分类,我们经常通过机器学习中的聚类算法来实现,常采用的方法有K-means聚类、DBSCAN聚类、层次聚类等。虽然聚类模型可以有效实现客户群体分类的特征标签,但模型最终是否满足实际业务场景的需求,需要模型能够达到一定的性能标准,这就需要我们在建立聚类模型过程中,对模型的性能效果进行合理的指标评价。因此,本文将围绕信贷客户分群的实际场景案例,通过样本数据与代码实操,重点给大家介绍下如何来评估聚类模型的应用效果。

    1、样本数据分析
    聚类模型是一个无监督算法,即建模样本数据可以不需要目标变量Y。本文选取样本数据的部分样例如图1所示,共包含6000条样本与4个特征,其中id为样本主键,X特征变量分别为age(年龄)、education(学历)、income(月收入),本案例将会通过这3个特征,来实现样本客户群体的类型划分。
    在这里插入图片描述
    图1 样本数据

    根据图1可知,特征education(学历)为字符类型,且聚类算法无法直接对字符型特征进行处理,因此需要将字符型转换为数值型。由于特征education为有序分类变量,也就是在实际场景中字段取值有比较意义,例如本科>专科>中专,因此我们可以采用标签编码方式对特征进行转换,具体label编码规则如图2所示。
    在这里插入图片描述
    图2 特征标签编码

    通过describe()函数对样本各个特征进行简单探索描述性分析,结果如图3所示。
    在这里插入图片描述
    图3 特征描述分布

    由上图可知,各特征变量的取值范围分别为:age(2050)、education(17)、income(2000~12000),各字段之间的量纲差异较大。对于聚类模型算法,划分类别的度量方法主要是距离和相似度,无论选择哪种距离方法或相关系数,特征的量纲大小对最终聚类结果影响很大。例如,K-means算法常采用欧式距离来衡量样本的聚合相似性,结合图3的特征取值分布,在计算某样本到中心点的距离时,字段income的数值权重明显大于age、education,这样得到的距离大小主要由income决定,这样对于样本的聚类效果显然是不合理的。因此,针对样本进行聚类分析时,我们在模型训练前需要将样本数据进行标准化处理,这里我们通过特征z-score标准化方法StandardScaler()来进行特征转换,结果如图4所示(0、1、2分别对应age、education、income)。
    在这里插入图片描述
    图4 特征标准化

    2、聚类模型训练
    接下来我们通过最常用的K-means聚类算法来实现客户群体的分类,这里首先需要明确的是,客群划分为几类较为合适。在实际场景中,客群分类数(K值)的确定,一般是采用“肘部法”分析来选取合适的数值,当然有时是根据实际业务需求直接划分。下面我们通过“肘部法”来分析下本案例样本数据划分为几类较为合适,具体实现代码与输出结果如图5所示。
    在这里插入图片描述
    图5 肘部法确定K值

    在这里插入图片描述
    图6 肘部法分布图

    由上图可知,当K=4时,聚类簇内的误差平方和SSE下降幅度明显变缓,说明样本用户数据聚为4类较为合适。我们按照聚类数为4的业务目标进行模型拟合训练,具体实现代码如图7所示,模型聚类后各簇的质心(中心点)如图8所示(0、1、2分别对应age、education、income)
    在这里插入图片描述
    图7 Kmeans模型训练


    在这里插入图片描述
    图8 聚类簇中心点

    3、聚类模型评估

    当模型训练完成后,虽然通过模型labels_属性得到了每个样本的分类标签,但是聚类模型的效果好坏,或者说样本聚类后的合理性,需要我们对模型进行整体性的评估,这样才能有效保证模型后期的实际应用性能。我们选取聚类模型常用的几个指标来进行评估,分别为误差平方和SSE、轮廓系数SC、Calinski-Harabaz系数CH,同时我们结合业务场景,分析下聚类频数与特征分布的合理性。

    (1)误差平方和SSE
    SSE(Sum of the Squared Errors):误差平方和,指所有样本数据点的误差之和,其中误差为每个样本点到所属类别质心的欧氏距离。SSE是衡量聚类模型的重要指标,在聚类数量K值相同的情况下,SSE值越小越好,这也是聚类算法最核心的优化条件,SSE的实现代码如图9所示。
    在这里插入图片描述
    图9 误差平方和SSE

    (2)轮廓系数SC

    SC(Silhouette Coefficient):轮廓系数,可以很直观的说明样本聚类的效果,其计算公式如下所示,其中a为某样本与其同类别中其他样本的平均距离,b是与其距离最近不同类别中样本的平均距离,s为轮廓系数。
    对于每个聚类样本都可以得到一个轮廓系数s,当评估聚类模型的整体效果时,需要取所有样本轮廓系数的平均值。轮廓系数SC的取值范围为[−1,1],SC值越高,说明同类别样本间距离近,不同类别样本间距离远,即聚类效果越好。SC的实现代码如图10所示。
    在这里插入图片描述
    图10 轮廓系数SC

    (3)Calinski-Harabaz系数CH

    CH(Calinski Harabaz):表示群内样本离散与簇间样本离散的比值,取值越大说明模型的聚类效果越好。当类别内部的样本数据协方差越小,类别外部之间的样本数据协方差越大,CH系数值就会越高,CH的实现代码如图11所示。
    在这里插入图片描述
    图11 Calinski Harabaz系数

    根据图9~11的示例代码,可以实现聚类模型的SSE、SC、CH指标输出,具体结果如图12所示:
    在这里插入图片描述
    图12 聚类模型指标

    (4)聚类label分布
    聚类模型的效果好坏,除了要评估以上模型指标之外,还需要进一步分析下聚类各簇的分布情况是否合理,包括频数、占比、均值等,现将聚类后各簇的分布指标进行输出,具体实现代码分别如图13、14所示,最终汇总结果如图15所示。
    在这里插入图片描述
    图13 聚类各簇频数占比

    在这里插入图片描述
    图14 聚类各簇样本均值


    在这里插入图片描述
    图15 聚类各簇分布情况

    从最终聚类4个用户群体的结果分布情况来看,各类别的样本数量占比较为合理,且各群体的特征均值差异较为明显,说明模型的聚类效果较好。现结合实际业务意义,将各类别的特点简要描述如下:
    类别1:年龄约40岁,学历平均为专科水平,月收入平均约为6634元;
    类别2:年龄约29岁,学历平均为高中/中专水平,月收入平均约为6671元;
    类别3:年龄约28岁,学历平均为专科水平偏上,月收入平均约为4212元;
    类别4:年龄约28岁,学历平均为专科水平偏上,月收入平均约为9130元。

    根据以上分析可知,显然类别4为相对较优客户群体,营销价值相对较高,因此在实际开展营销策略时,重点可以优先关注此类客户,这对信贷业务的日常客户管理具有非常重要的参考价值。

    以上内容便是围绕信贷客户分群的实际场景案例,通过样本分析、特征处理、模型训练等步骤,给大家具体介绍了Kmeans聚类模型的建立过程,并重点解析了聚类模型的评估指标与分析维度。为了便于大家对以上内容的进一步熟悉与掌握,我们准备了与本文内容同步的样本数据与python代码,供大家参考学习,详情请移至知识星球查看相关内容。
    在这里插入图片描述


    ~原创文章

  • 相关阅读:
    2014软专算法题T1
    数据库常见面试题 —— 13. char 和 varchar 的区别
    力扣刷题 day39:10-09
    制作一个模板
    华为外包测试2年,不甘被替换,168天的学习转岗成正式员工
    ArkTS初始用体验
    磁盘性能测试
    el-table嵌套el-form表单的案例
    Constraints --- transition(clock transition、input transition、max transition)
    MySQL 详解 存储过程 和 存储函数
  • 原文地址:https://blog.csdn.net/weixin_45545159/article/details/125531705