贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型

对于银行等金融机构的信贷业务,若实现产品的创盈增收,自然离不开作为业务核心的风控体系,而风控体现出的特性不仅包括对风险量化的决策,而且还有对客户价值的识别与挖掘。在银行信用卡的实际业务场景中,对存量用户进行群体分类与价值分层,始终是信用卡业务开展过程中的重要工作内容。只有识别出高价值客户,并与其保持长久的业务关系,才是银行信用卡中心创造收益的必要前提条件。通过对信用卡高价值客户的预测识别,可以有效将客户群体进行分类,同时可以结合量化分析得到客户的价值贡献程度。

针对客户分群与价值识别的业务场景,从模型开发的角度来讲,可以归为分类、回归、聚类等问题,具体需要根据实际场景需求、样本数据分布等情况综合决定。为了实现客户价值场景的模型量化分析,本文从分类、回归两个模型类型维度,并选取典型机器学习算法KNN(K近邻)来完成客户价值识别模型的开发。在具体分析过程中,将围绕实际案例样本数据,通过数据清洗、特征工程、模型训练、模型评估等步骤,完成模型的构建与应用。

1、KNN算法原理
在数据建模之前,我们先来简单了解下机器学习模型KNN算法的基本原理与实现过程。K近邻(K-Nearest Neighbor),简称KNN,K近邻模型既可以实现分类,也可以实现回归,二者原理分别如下:
(1)KNN实现分类场景:对于一个新样本,算法在已有样本数据群中寻找与它相似的K个数据,或者说“离它最近”的K个数据,如果这K个数据大多数属于某个类别,则该样本也属于这个类别。
(2)KNN实现回归场景:模型对某个待预测样本点的判断,是将其最近K个训练样本点的目标平均值,作为预测样本点的分类结果。
对于K近邻样本数据的相似度,KNN常采用欧氏距离来定义空间内2个样本数据点的距离。由于KNN模型算法是通过判断样本之间的距离来实现模型的构建过程,因此KNN模型的训练样本数据必然需要特征标准化处理,这样才能有效避免由于特征量纲不统一导致模型精度不准的问题,这和K均值Kmeans、支持向量机SVM等常见模型是一致的。

2、样本数据分析
本文案例数据包含20000条样本与11个特征,部分样例数据如图1所示,其中apply_id为样本主键,x1~x08为特征变量,value与label都为目标变量,区别在于二者取值类型分别为连续型、分类型,是为了实现分类模型与回归模型应用,具体特征字典如图2所示。
贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第1张图片
【图1 样本数据】


贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第2张图片
【图2 特征字典】

针对样本数据,简单数据探索的特征分布结果如图3所示,其中数值型字段与字符型字段,分别采用describe()函数与value_counts()函数来实现。
贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第3张图片
【图3 数值型特征分布】


贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第4张图片
【图4 字符型特征分布】

由于特征x1与x2为字符型变量,需要将其转换为数值型变量,常见的特征编码转换方式有one-hot编码、label编码、WOE编码等,这里采用label编码来实现。此外,x1与x2是有序型分类变量,在label编码过程中可以保持其业务解释的顺序性,具体实现过程如图5所示。
贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第5张图片
【图5 特征label编码】

为了避免特征量纲不一致使得KNN模型的训练结果产生较大偏差,因此在模型拟合之前,需要对数据进行特征标准化处理。在实际场景中,常用的特征标准化方式有max_min、z-score等,这里采用z-score标准化来实现,具体过程如图6所示,样例结果如图7所示,其中序号07分别代表特征x1x8。
在这里插入图片描述
【图6 特征标准化实现】

贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第6张图片
【图7 特征标准化结果】

3、KNN分类模型
根据以上数据预处理后的数据,我们分别通过分类与回归模型来实现客户价值预测模型的训练。首先,从分类场景来拟合建立有监督模型,其中以标准化后的数据df_std为自变量X,以特征value为因变量Y。KNN算法解决分类问题,是通过模型函数KNeighborsClassifier()来实现,具体过程如图8所示。
这里需要注意的是,针对KNN算法,最关键的一个模型参数是如何确定K值。K值大小对模型的效果影响很大,当K值过大时,模型容易出现受到样本不均衡影响、模型欠拟合、模型过于简单等问题;当K值过小时,模型容易出现受到异常样本点影响、模型过拟合、模型过于复杂等问题。在具体场景中,K值一般情况下取5~20范围的某个值,但没有绝对的确定标准,往往需要根据样本数据情况而定,而最有效的量化方式是采用交叉验证与网格搜索(GridSearchCV)来寻找较优的K值。这里我们先赋予常规值K=10来训练拟合模型,后续可以进行模型参数调优。
贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第7张图片
【图8 分类模型训练】

当模型训练拟合成功后,我们采用分类模型最常用的指标accuracy、AUC、KS来评估下模型的准确度与区分度,实现过程如图9所示。
贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第8张图片
【图9 分类模型评估】

4、KNN回归模型
接下来我们从回归场景来拟合建立有监督模型,仍以标准化后的数据df_std作为模型输入自变量X数据,而因变量Y则为连续型字段value。KNN算法解决回归问题,是通过模型函数KNeighborsRegressor()来实现,模型训练与模型评估的具体过程如图10所示,其中模型效果采用指标r2(决定系数)来进行评估。
贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第9张图片
【图10 回归模型训练与评估】

5、KNN模型应用
当模型建立完成且模型指标满足需求后,模型在实际场景中的应用是我们关注的重点。本文构建的模型是客户价值预测模型,在实际业务中的实践应用逻辑,是针对某个样本客户,通过调用客户的特征数据信息,然后作为模型的输入参数,则模型输出的数据便是模型预测分析的结果。针对本文建立的分类与回归模型,其模型输出结果的意义分别如下:
(1)分类模型:预测客户是否为高价值客户,1代表是,0代表否;
(2)回归模型:分析客户的价值贡献度,数值越大,价值越高。
在模型应用的过程中,需要明确以下几个要点:
(1)新样本调用模型时,需要经过与模型训练阶段一样的特征处理环节,例如本文涉及的缺失值处理、特征编码、特征标准化,因此模型调用不只是机器学习模型的逻辑,还有前期的数据处理过程;
(2)分类模型的输出结果本质是预测1或0的概率值,而价值标签结果1或0是根据分类阈值来划分的,默认取值是0.5,具体可以根据实际业务场景调整,以优化模型的决策效果;
(3)回归模型的输出结果是具体数值,其业务含义与模型训练的目标Y值是保持一致的,因此模型预测分析结果可以直接反映客户的价值度。
综合以上介绍,我们通过KNN机器学习算法,先后从分类与回归的模型角度,实现了信贷客户价值预测模型的建立与应用。为了便于大家对KNN模型应用的进一步理解与掌握,本文附带了与以上内容同步的样本数据与python代码,供大家参考学习,详情请移步至知识星球查看相关内容。
贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型_第10张图片

~原创文章

你可能感兴趣的:(番茄风控大数据公众号,分类,机器学习,算法)