实操客群分层|无监督训练与有监督评估,面试中这两大类风控模型最会被问到的问题

发布于:2023-01-20 ⋅ 阅读:(121) ⋅ 点赞:(0)

平常说到模型开发中中各位童鞋经常会听到有监督与无监督这两个词,这究竟是啥意思?我们觉得可以这样简单理解:有监督就是说数据中已经确定了好人与坏人(有y标签),无监督就是说数据中没有确定好人与坏人(无y标签)。好了,本文到处结束,如果不是想要深入了解这一类问题的童鞋,以后内容可以跳过了。
从文章主题来看,似乎有些矛盾,既然是无监督模型,那何来有监督指标,而有了目标变量,为什么还要采用无目标的算法来训练模型,听起来似乎有些不合理,但在实际场景中这种情况是存在的,这也是本文要介绍的重点内容。这里提到了无监督训练,说明模型算法是一种无监督学习器,而我们常接触的线性回归、逻辑回归、决策树、K近邻等回归或分类算法,都属于有监督机器学习模型的范畴,对于无监督模型往往指的是聚类或降维算法。

1、业务场景介绍
在信贷领域中,客户群体的类型区分场景,虽然通过分类和聚类算法都可以实现,但如果采用聚类算法来开发模型,最常用的算法是我们比较熟悉的Kmeans(K均值)聚类。作为无监督聚类模型的代表,Kmeans算法可以有效将样本群体进行归类,从而实现客群的特征画像分析,为存量客户的价值评估与营销管理提供非常有效的参考价值。
采用Kmeans算法对样本数据进行聚类自然是无监督训练的过程,这也是本文主题前半部分,而对于后半部分的有监督评估,指的是采用建模样本数据已有的目标变量标签与模型预测标签进行综合分析,得到相关有监督的性能指标,从而实现有监督评估的过程。这里可能稍有疑惑的是,Kmeans模型的效果评价直接可以采用相关指标来分析,例如SSE(误差平方和)、SC(轮廓系数)等,而且这些指标并不需要目标变量的支持,也就是无监督的模型指标。但是,在某些场景下,如果原始建模样本数据存在目标变量,除了采用类似SSE、SC等无监督指标来评价之外,也可以采用有监督指标来分析,常用指标有NMI(标准化互信息)、AMI(调整互信息)、RI(兰德系数)、ARI(调整兰德系数)、FMI(Fowlkes-Mallows-scores系数)、V-measure(调和平均系数)等。这里需要注意的是,是否采用有监督方式来评估模型的性能效果,Kmeans聚类始终是无监督拟合的过程,而且模型变量不能包含样本数据已有的目标变量。

2、样本分析处理
围绕以上场景描述,接下来我们结合具体的样本数据,来介绍下Kmeans聚类的无监督训练与有监督评估的完整过程,并分析常见的有监督评价指标。采用的样本数据包含5000条样本与7个特征,具体样例如图1所示,其中id为样本主键,air_travel、credit_use、stable_index、online_level、model_score为特征变量,flag为目标变量,特征字典详情如图2所示。
在这里插入图片描述
图1 样本数据

在这里插入图片描述
图2 特征字典

根据以上样本数据,我们采用Kmeans聚类算法来建立模型,由于特征拟合变量的取值类型均为数值型,因此不需要进行字符转数值的特征编码处理。但是,Kmeans聚类算法的原理是通过样本数据点的距离大小来决定样本所属类别的,最常用的距离方式是欧式距离。对于样本距离的计算,特征取值的量纲统一非常重要的,如果特征量纲的差异太大,会直接导致模型的聚类效果表现很差。因此,针对Kmeans聚类的模型训练,为了保证模型的合理性,务必要对建模数据的特征进行标准化处理。常用的标准化处理方法有min-max、z-score等,这里我们采用min-max来实现,在python环境可以直接通过调用sklearn.preprocessing库中的MinMaxScaler()来完成,经过对特征变量标准化处理的样本数据样例如图3所示。
在这里插入图片描述
图3 特征标准化数据

当样本特征数据完成标准化处理后,接下来便可以采用Kmeans算法进行聚类模型的无监督训练。对于Kmeans模型训练的入参,最重要的一个参数就是K值的确定,这决定了聚类模型最终将客户群体划分为几个类别。在实际场景中,K值的定义主要有以下几个思路:
(1)根据业务需求直接指定,也就是公司希望将存量客户分为几类便于管理;
(2)通过数据分析“肘部法”确定,横坐标为聚类K值,纵坐标为SSE或SC等;

(3)以上2种方法的综合分析。

由于本文要介绍有监督评估的实现过程,因此预测标签的类型数量(K值)必须与真实标签数量一致,而针对样本数据标签“flag”的具体分布情况如图4所示,可知模型训练的参数K值应设置为3,这样才能保证真实标签与预测标签的类型数量相同,从而满足有监督模型指标的输出。
在这里插入图片描述
图4 样本数据标签分布

结合以上分析思路,我们虽然确定了模型的聚类K值为3,但为了更客观的说明K=3是否满足实际数据分布,可以采用通过数据分析的“肘部法”来进行验证,这里采用SSE(误差平方和)来评价不同K值的性能,实现过程如图5所示,输出结果的可视化展示如图6所示。
在这里插入图片描述
图5 聚类肘部法分析


在这里插入图片描述
图6 肘部法可视化结果

由图6的可视化趋势结果可知,随着聚类数量K值的增大,模型性能指标SSE(误差平方和)呈现下降趋势,根据肘部法确定K值的原理是从分布趋势图寻找手肘的拐点,对应的K值便是比较合适的聚类数量。通过上图的分布效果可以直接看出,K=3的位置变化趋势明显,符合肘部法分析的逻辑,说明聚类数量K=3比较合适,这个分析结果正与前边预设的K值相对应,这也进一步验证了模型聚类目标为3个类别的合理性。

3、模型训练与无监督评估
当聚类K值确定之后,下面采用Kmeans算法来完成模型训练与模型预测,同时采用无监督评估原理,输出模型性能的相关评价指标,例如误差平方和SSE、轮廓系数SC等,聚类模型训练过程如图7所示,输出的聚类种子中心以及模型评价指标结果如图8所示。
在这里插入图片描述
图7 聚类模型训练


在这里插入图片描述
图8 模型性能指标

本文聚类模型的实现目的是为了将存量客户进行分群,为了便于分析聚类后各个客群的特征分布,现将聚类各簇样本的频数占比、变量均值分别输出汇总,便于客户分群的特征画像分析,具体实现过程如图9所示,输出结果如图10所示。
在这里插入图片描述
图9 客群分布实现


在这里插入图片描述
图10 客群分布结果

根据上图聚类各簇的样本数据分布,可以直观的描述出在当前特征范围内各个客群的特点。这里我们选取第1个客户群体(簇类label=0),来简单描述下客户画像,此类而客群占比为39.02%,最近1个月航旅出行次数平均值为0,说明很少采用航旅方式出行;最近6个月信用卡交易次数平均值为19,日常消费频率相对较高;稳定能力系数为4.68,相比其他客群较为稳定;电商网购能力等级平均值为0,很少采用线上形式购物,但结合前边的信用卡交易频率较高,说明很可能偏好线下购物消费;申请信用评分平均值为585,相比其他客群信用度较高,信用风险较低,综上可以推理出此类客群的价值度较高,在存量客群中属于优质客户。

4、模型有监督评估
前文我们虽然进行了模型评估,但并未采用样本数据的目标数据,而是直接采用无监督方式分析模型性能指标SSE(误差平方和)、SC(轮廓系数)等,这种评价模型效果的方法也是我们在实际场景中经常采用的。本文除了以上关于模型无监督评估的方式之外,重点来介绍下有监督评估的实现过程,也就是综合已有真实标签与预测结果标签的二维数据,来输出相关模型指标,具体包括NMI(标准化互信息)、AMI(调整互信息)、RI(兰德系数)、ARI(调整兰德系数)、FMI(Fowlkes-Mallows-scores系数)、(V-measure调和平均)等。

(a)标准化互信息NMI
互信息(Mutual Information)用来衡量两个样本数据分布的吻合程度,是一种信息度量;互信息的取值越大,说明数据信息的相关程度也越强,在本例中指聚类标签与真实标签的信息相关度。标准化互信息 (Normalized Mutual Information),简称NMI,是对互信息进行归一化处理。NMI的取值范围为[0,1],取值越大说明聚类结果标签与真实标签的分布越吻合,NMI的具体实现过程与输出结果如图11所示。
在这里插入图片描述
图11 标准化互信息NMI

(b)调整互信息AMI
调整互信息(Adjusted mutual information),简称AMI,是另一个版本的互信息,可以衡量聚类结果与真实情况的相似程度。AMI的取值范围为[-1,1],取值越大代表二者标签分布情况越吻合,AMI的具体实现过程与输出结果如图12所示。
在这里插入图片描述
图12 调整互信息AMI

(c)兰德系数RI
兰德指数(Rand index), 简称RI,是将聚类视为一系列决策过程,即对数据所有n(n-1)/2个样本对进行决策,当且仅当两个样本相似时,才将其归入同一簇类。RI的取值范围为[0,1],取值越大说明聚类标签与真实标签越吻合,RI的具体实现过程与输出结果如图13所示。
在这里插入图片描述
图13 兰德指数RI

(d)调整兰德系数ARI
调整兰德系数(Adjusted rand index),简称ARI,可以实现在聚类结果随机产生的情况下,评估指标应接近于0的客观规律,而对于兰德系数RI是无法满足的,因此ARI具有更好的区分度。ARI的取值范围为[0,1],取值越大说明聚类标签与真实标签越吻合ARI的具体实现过程与输出结果如图14所示。
在这里插入图片描述
图14 调整兰德指数ARI

(e)Fowlkes-Mallows-scores系数FMI
Fowlkes-Mallows Scores系数,简称FMI,是成对的precision(精度)和recall(召回)的几何平均数。FMI的取值范围为[0,1],取值越大说明聚类标签与真实标签越吻合,FMI的具体实现过程与输出结果如图15所示。
在这里插入图片描述
图15 Fowlkes-Mallows-scores系数FMI

(f)调和平均数V-measure
V-measure是同质性(homogeneity)和完整性(completeness)的调和平均数,其中同质性是指每个类群只包含单个类别的样本,完整性是指给定类别的所有样本都分配给同一个类群。V-measure的取值范围为[0,1],取值越大说明聚类标签与真实标签越吻合,V-measure的具体实现过程与输出结果如图16所示。
在这里插入图片描述
图16 调和平均数V-measure

以上指标NMI、AMI、RI、ARI、FMI、V-measure等,均是Kmeans聚类模型常用的有监督评估指标,可以较好的评估模型聚类结果的真实反映情况。在实际业务场景中,当建模样本数据存在真实分类标签时,可以尝试通过无监督评估与有监督评估两个维度,来综合性评价模型的性能。
综合以上内容,我们围绕客群分类场景,通过Kmeans聚类算法实现了客户群体的类别划分与特征画像,同时重点采用无监督与有监督两种方式,实现了聚类模型的效果。
为了便于大家对客群分类模型无监督训练与有监督评估场景的进一步熟悉,本文额外附带了与以上内容同步的样本数据与python代码,供大家参考学习,详情请移至知识星球查看相关内容。
在这里插入图片描述

更多详细内容,有兴趣的童鞋可关注:
在这里插入图片描述

~原创文章

本文含有隐藏内容,请 开通VIP 后查看