CN115526652A - 一种基于机器学习的客户流失预警方法及系统 - Google Patents

一种基于机器学习的客户流失预警方法及系统 Download PDF

Info

Publication number
CN115526652A
CN115526652A CN202211029429.4A CN202211029429A CN115526652A CN 115526652 A CN115526652 A CN 115526652A CN 202211029429 A CN202211029429 A CN 202211029429A CN 115526652 A CN115526652 A CN 115526652A
Authority
CN
China
Prior art keywords
early warning
customer
data
model
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211029429.4A
Other languages
English (en)
Inventor
王天弘
于珍
刘刚
赵娜娜
何嘉诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN202211029429.4A priority Critical patent/CN115526652A/zh
Publication of CN115526652A publication Critical patent/CN115526652A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0203Market surveys; Market polls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于机器学习的客户流失预警方法及系统,包括:获取数据集;对数据集中的数据进行预处理;构建客户流失预警模型,并通过预处理后的数据进行训练,得到训练好的客户流失预警模型;将待检测的数据通过所述预处理后输入训练好的客户流失预警模型,得到客户流失预警结果。本发明通过对企业大量不规范客户进店信息数据进行预处理,并采用决策树、SVM、随机森林和GA‑CART算法,构建流失预警模型,基于Python‑Tkinter进行可视化制作操作软件,有效地协助企业人员进行客户流失预警,制定的挽救措施。

Description

一种基于机器学习的客户流失预警方法及系统
技术领域
本发明涉及一种基于机器学习的客户流失预警方法及系统,属于数据分析、客户流失研究技术领域。
背景技术
据国家统计局民用汽车数量统计显示,截止2020年,我国民用汽车拥有量突破了2.7亿辆,但是年增长率在逐渐下降,整车销售的竞争愈发激烈,从前暴利销售整车的方式已经逐渐结束,整车销售的利润逐渐进入微利时代。从最初的卖方市场变成了买方市场。基于这种情况,消费者越来越看重消费的质量以及4S店的服务水平。为了抢占未来的销售市场,汽车4S店的售后服务显得愈来愈重要,也是各汽车厂家和经销商的利润增长点。如果企业不能提升自己的服务水平以及质量,提高顾客满意度,保护忠诚客户,挽救即将流失的客户,就会直接丧失顾客。与中国汽车市场的蓬勃发展趋势相比,不够充分发展的汽车后市场,导致4S店和维修店面临经营模式单一、服务水平低的发展瓶颈。
对于汽车4S店而言,主要的盈利手段在于售后服务,因此如何与客户保持持续的联系,刺激客户消费,提高顾客忠诚度是4S店后市场发展的核心。但是随着顾客车辆生命周期的延续,客户都会面临着由购车时的新客户到保有客户的转变,再经历保有客户到潜在流失客户的过程,最终成为流失客户。如何在不同的客户周期制定相应的营销策略,就需要有针对性的对客户进行相应的挽留,降低成本。对于企业而言,20%的高价值客户可以带来80%的收益,而剩下80%的客户只能带来20%的收益,因此对于20%的高价值客户更应该关注其动态变化。但是由于企业无法预测高价值客户是否会流失,而低价值客户的流失表现较为明显,企业将会更多对价值客户制定相应的优惠策略,在一定程度上会影响高价值客户的忠诚度和增加企业运营成本,所以提前对客户流失模型进行构建和评估是十分重要的。
传统的客户流失研究主要是通过问卷调查、专家访谈、文献搜集流失因素、定量分析等相关方法,来分析客户流失的原因,并制定相应的策略。由于主观性较强,且受到随机性因素,耗时且成本较高,存在一定的局限性。随着企业的“数智化”转变,伴随着数据挖掘和大数据处理的提升,针对客户流失问题研究,可以把客户流失问题当作分类问题,建立了多种客户流失识别模型。目前主流的客户流失预警主要应用于电信、金融和保险行业,主要采用的方法有:决策树、随机森林BP神经网络、支持向量机等机器学习方法。而对于汽车行业客户流失研究,着重于研究客户流失因素,少有利用客户数据来进行分类模型的构建,有且部分是对案例大赛数据的模拟。对于真实的企业数据,数据的获取和处理还存在很大的难度。
就目前的状况来看,汽车4S店并没能够充分利用储存的海量客户信息,导致分析的滞后以及营运策略的延后。对于4S店来说,最有效的方式就是建立客户流失预警模型,快速定位导致客户流失的关键因素,迅速采取相应的措施来进行挽回,提高顾客的忠诚度,减少流失。
发明内容
本发明是针对目前4S店对预防客户流失问题处理的局限性和缺乏时效性,提出了一种能够对客户进店信息进行准确分析,通过机器学习构建客户流失预警模型,最终通过Python的Tkinter实现人机界面交互完成评估的一种方法。
术语解释:
1、Python,由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。
2、Tkinter,tkinterface是Python的标准工具库,可以运行于Unix/Linux、windows、Macs等平台的用户图形界面(GUI)。同时Tkinter支持很多控件,包括按钮、文本框、输入框、选择框、菜单栏等,可以开发出功能设计完善、界面设计优雅的GUI程序。
3、异常值处理,在处理异常值的时候,可以通过3σ准则和箱型图法来判断异常值。3σ准则是当数据服从正态分布时,在μ±3σ范围以外的样本会被认为是异常样本;箱型图法是将数据进行直观的显示,判断离群点。
4、数据标准化处理,数据标准化处理方法有最大最小标准化(min-max法)和Z-Score标准化。min-max法通过线性化的方法将原始数据转换到[0,1]的范围内,如果数据整体比较稳定可以采用min-max法。Z-score法是将原始数据归一化为均值为0、方差为1的数据集,主要应用于数据取值范围跨度大,不够稳定时。由于4S店客户特征量纲差距较大、数据跨度也大,因此,采用Z-score标准化方法。
5、随机森林插补处理,含缺失值特征当作响应特征,其他特征作为解释特征,构建随机森林模型,来预测缺失值的样本集,从而对缺失值进行填补。主要适用于特征数据大量缺失而其他特征很完整的情况。
6、SMOTE和ENN结合的方法,SMOTE法是对于少数样本m,在样本m的K邻近随机得到一个少数特征样本n,然后将样本m和n连接,随机选择mn之间的一个数据点作为插值的点,来补充少数类样本;Edite Nearest Neighbours(ENN):假设一个多数类样本为C,如果对C的K均值点一半以上都是这个类别,就会把样本C删除。SMOTEENN是将SMOTE和ENN方法进行结合,先对少数样本进行SMOTE填补,然后对叠加样本采用ENN方法进行剔除。
7、决策树模型,决策树是经典的机器学习算法,主要解决二分类问题。决策树有两种方法,分别是解决分类和预测问题。通常而言,构建的决策树包含根节点、内部节点和叶节点;根节点包括样本全集;叶节点对应于决策的结果,其他的节点类似于通过不同的属性来进行划分,每个节点上的样本集合通过属性划分到子节点中;根节点通过一系列的属性划分得到最终的叶节点。
8、SVM模型,支持向量机(SVM)是Vapnic由1963年提出,是一种有监督学习的机器学习分类算法,SVM通过在样本空间中构建超平面,来将样本空间按照标签划分为两类。SVM算法目的是找到满足非同类支持向量到超平面的最大距离之和,也就是间隔最大的超平面。
9、随机森林模型,随机森林(RF)是Breiman 2001年在Bagging基础上的一个扩展优化。RF以决策树为基学习器,加入了训练过程的随机特征选择。传统决策树构建过程是选择满足当前结点特征集合(假设d个特征)的最优属性,而RF是对于决策树的所有结点,从该结点的特征集合中随机选择k个特征的子集,然后从这些特征中选择最优特征进行分类。k表示随机性的引入程度,当k=d,则为传统决策树;推荐k值一般为log2d。
本发明的技术方案为:
一种基于机器学习的客户流失预警方法,包括:
获取数据集;
对数据集中的数据进行预处理;
构建客户流失预警模型,并通过预处理后的数据进行训练,得到训练好的客户流失预警模型;
将待检测的数据通过所述预处理后输入训练好的客户流失预警模型,得到客户流失预警结果。。
根据本发明优选的,得到客户流失预警结果,包括客户的底盘号信息和客户的流失与否的预测信息。
根据本发明优选的,通过决策树、SVM、随机森林或GA-CART算法构建流失预警模型。
进一步优选的,通过决策树构建流失预警模型,包括:流失预警模型为决策树模型。
进一步优选的,决策树模型中,采用CART决策树算法,假设有n个样本集的数据集为D,其中,有k个不同的属性,每个样本属于对应类的概率为pk,数据集D的纯度用GINI指数G(D)来衡量,如式(I)所示:
Figure BDA0003815149980000031
对于数据集D,假设选取特征A作为分支特征,根据特征A的取值将数据集D划分为D1和D2,D1为A=a1的子样本,D2为A≠a1的子样本,在选取特征A作为分支特征条件下数据集D的GINI指数G(D,A)如式(II)所示:
Figure BDA0003815149980000041
Gini(D1)和Gini(D2)分别指数据集D1和D1的样本GINI指数。
进一步优选的,通过SVM构建流失预警模型,包括:运用python中的SVM库的svm函数构建SVM模型,流失预警模型为SVM模型。
进一步优选的,通过随机森林构建流失预警模型,包括:运用python中的Sklearn库的DecisionTreeClassifier函数构建随机森林模型,流失预警模型为随机森林模型。
进一步优选的,通过GA-CART算法构建流失预警模型,包括:
(i)数据加载
对预处理后的数据进行随机划分,划分为训练集和测试集,并获得客户流失的标签;
(ii)初始化种群
根据4S店客户特征维度来设置染色体长度;4S店客户特征维度、种群规模大小及染色体长度是相同的;
(iii)计算初始化种群适应度值,并选取最大适应度值对应的染色体;
迭代执行,如果是第一次迭代,则最大适应度值即为本次迭代的流失预警模型的召回率;否则,则和上一次迭代的最大召回率进行对比,选取较大召回率值作为最大适应度值;每一次迭代的过程中都会存在本次迭代所对应的基因序列,如果本次迭代的召回率值进行了变化,则更新一次最大召回率所对应的基因序列,反之则不更新;
(iv)以适应度值为指标,采用轮盘赌方法选择下一代染色体,并进行交叉和变异操作;具体包括:
1)采用轮盘赌方法选择下一代染色体:
首先,采用轮盘赌选择,以召回率作为适应度函数的适应值,计算每个个体适应度与所有个体适应度之和的比值,即每个个体被选中概率P(xi);x为个体数的集合,xi表示x集合中的第i个个体,f(xi)表示个体的适应度值,n为个体的数量,如式(III)所示:
Figure BDA0003815149980000042
然后,计算出累积概率Q(xi),如公式(IV)所示:
Figure BDA0003815149980000043
随机生成一个数组m,数组中的元素取值范围在0和1之间,将数组中的元素按从小到大的方式进行排序;若累积概率Q(xi)大于数组中的元素m[i],则个体x(i)被选中,若小于m[i],则比较下一个个体x(i+1)直至选出一个个体为止;
2)交叉和变异操作:
交叉是指单点交叉,单点交叉的实现步骤为:
首先,将父代染色体进行存储,选择一个父代染色体,随机产生一个0-1的随机值,如果小于设定的交叉概率0.8,则该父代染色体进行交叉;
然后,随机在种群中选择一个个体,随机生成一个0到26的数字,即为染色体交叉的位置,将父代染色体和选择后的种群染色体在选定的位置进行基因交换,即完成单点交叉;
重复以上单点交叉的实现步骤,遍历所有的父代染色体;
变异的实现步骤为:对于交叉变异后的种群,选取一个个体,随机产生一个0和1之间的数,如果小于变异的概率0.09,则进行变异,随机生成一个0到26的数字,作为变异的位置,再将该染色体该位置上的0置换成1或1置换成0;重复该过程,直到遍历所有的个体。
(v)重复执行步骤(iii)至步骤(iv)直至迭代若干次后停止,得到构建好的流失预警模型。
根据本发明优选的,获取数据集,包括:数据集是指4S店客户进店信息数据。
根据本发明优选的,预处理包括汇总处理以及异常值、缺失值、归一化处理和样本不均衡处理。
进一步优选的,汇总处理,包括:
Step1:删除4S店客户进店信息数据即原始数据D中的无关信息特征,对其它特征按编号命名;
Step2:筛选出底盘号的个数,通过底盘号为索引来检索原始数据D中客户信息,每个底盘号得到相应的客户信息词条;
Step3:将检索到的客户信息进行处理,筛选出最小进店日期、最大进店日期、最大行驶里程、最小购车日期、最大累计维修次数、最大年龄、最大性别、最大客户级别、最大本公司售车、最大保险截止日期;计算出日均行驶里程、累计维修金额、两年内进店次数、客户车龄、车辆价格、客户两年内进店间隔、客户保险是否过期、客户合计总金额、客户是否流失;分别统计出客户进行PDI、事故、优惠索赔、保养、免费检测、召回、小修、市场服务、索赔、预PDI和首保;最后将处理好的客户信息存储到新数据集D′中;
Step4:重复步骤Step2、Step3,直到遍历完底盘号的个数,得到最终的新数据集D′。
进一步优选的,对汇总处理后的数据进行异常值、缺失值、归一化处理和样本不均衡处理,包括:
首先,对新数据集D′进行异常值处理和数据标准化处理;
然后,对缺失值进行随机森林插补处理;
最后,采用SMOTE和ENN结合的方法对样本不均衡问题进行处理。
一种基于机器学习的客户流失预警系统,包括:
数据集获取模块,被配置为,获取数据集;
预处理模块,被配置为,对数据集中的数据进行预处理;
构建及训练客户流失预警模型模块,被配置为,构建客户流失预警模型,并通过预处理后的数据进行训练,得到训练好的客户流失预警模型;
预警模块,被配置为,将待检测的数据通过所述预处理后输入训练好的客户流失预警模型,得到客户流失预警结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于机器学习的客户流失预警方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于机器学习的客户流失预警方法的步骤。
本发明的有益效果为:
本发明考虑到4S店未能充分利用客户进店信息数据,同时也考虑到针对客户流失研究主要集中在流失理论研究和经验借鉴的局限,通过对企业大量不规范客户进店信息数据进行预处理,并采用决策树、SVM、随机森林和GA-CART算法,构建流失预警模型,基于Python-Tkinter进行可视化制作操作软件,有效地协助企业人员进行客户流失预警,制定的挽救措施,提高企业的经济效应。
附图说明
图1是本发明基于机器学习的客户流失预警方法的流程示意图;
图2为决策树模型的网络架构示意图;
图3为随机森林模型的网络架构示意图;
图4是本发明通过GA-CART算法构建流失预警模型的流程示意图;
图5是本发明通过GA-CART算法构建流失预警模型得到的适应度函数变化曲线的示意图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于机器学习的客户流失预警方法,如图1所示,包括:
获取数据集;包括:数据集是指4S店客户进店信息数据。4S店客户进店信息数据具体包括:维修类别、维修类型、合计金额、底盘号、车系、开单日期、结清日期、累计维修次数、合计金额、客户年龄、客户性别、进厂故障描述、保险截止日期、JD标识、购车日期、本公司售车。
对数据集中的数据进行预处理;
预处理包括汇总处理以及异常值、缺失值、归一化处理和样本不均衡处理。
汇总处理,包括:
4S店客户的底盘号信息是固定且唯一的,因此利用底盘号作为检索,通过Python实现原始数据的汇总处理,流程如下:
Step1:删除4S店客户进店信息数据即原始数据D中的无关信息特征,对其它特征按编号命名;
Step2:筛选出底盘号的个数,通过底盘号为索引来检索原始数据D中客户信息,每个底盘号得到相应的客户信息词条;
Step3:将检索到的客户信息进行处理,筛选出最小进店日期、最大进店日期、最大行驶里程、最小购车日期、最大累计维修次数、最大年龄、最大性别、最大客户级别、最大本公司售车、最大保险截止日期;计算出日均行驶里程、累计维修金额、两年内进店次数、客户车龄、车辆价格、客户两年内进店间隔、客户保险是否过期、客户合计总金额、客户是否流失;分别统计出客户进行PDI、事故、优惠索赔、保养、免费检测、召回、小修、市场服务、索赔、预PDI和首保;最后将处理好的客户信息存储到新数据集D′中;
Step4:重复步骤Step2、Step3,直到遍历完底盘号的个数,得到最终的新数据集D′。
对汇总处理后的数据进行异常值、缺失值、归一化处理和样本不均衡处理,包括:
首先,对新数据集D′进行异常值处理和数据标准化处理;
然后,对缺失值进行随机森林插补处理;
最后,采用SMOTE和ENN结合的方法对样本不均衡问题进行处理。为后续汽车客户流失模型的构建提供平衡数据集。
构建客户流失预警模型,并通过预处理后的数据进行训练,得到训练好的客户流失预警模型;
将待检测的数据通过预处理后输入训练好的客户流失预警模型,得到客户流失预警结果。。
得到客户流失预警结果,包括:以通知信息的形式显示在使用人员的电脑界面上,包括客户的底盘号信息和客户的流失与否的预测信息。同时会将以上信息以Excel的文件格式保存到用户的桌面。
通过决策树、SVM、随机森林或GA-CART算法构建流失预警模型。
实施例2
根据实施例1所述的一种基于机器学习的客户流失预警方法,其区别在于:
通过决策树构建流失预警模型,包括:运用python中的Sklearn库的DecisionTreeClassifier来构建决策树模型,流失预警模型为决策树模型。
决策树模型中,构建的决策树包括根节点、内部节点(中间节点)和叶节点;根节点包括样本全集;叶节点对应于决策的结果,其他的节点类似于通过不同的属性来进行划分,每个节点上的样本集合通过属性划分到子节点中;根节点通过一系列的属性划分得到最终的叶节点。如图2所示为决策树模型的网络架构示意图。
决策树通过不断的递归得到最终的叶结点,有三种情况会导致递归返回:(1)如果目前结点都是同一类别,则无需继续划分;(2)属性集为空集,或者是所有结点的样本在对应属性上计算值相等,则取多数类的样本类别为判定类别。(3)当前结点不含任何样本集合,无法划分。
决策树模型中,采用CART决策树算法,CART决策树也称为分类回归树,采用基尼指数(Gini)来衡量样本的纯度,样本的Gini指数越小,样本的纯度越高。假设有n个样本集的数据集为D,其中,有k个不同的属性,每个样本属于对应类的概率为pk,数据集D的纯度用GINI指数G(D)来衡量,如式(I)所示:
Figure BDA0003815149980000081
对于数据集D,假设选取特征A作为分支特征,根据特征A的取值将数据集D划分为D1和D2,D1为A=a1的子样本,D2为A≠a1的子样本,在选取特征A作为分支特征条件下数据集D的GINI指数G(D,A)如式(II)所示:
Figure BDA0003815149980000082
Gini(D1)和Gini(D2)分别指数据集D1和D1的样本GINI指数。
拟合训练的决策树模型在测试集的效果如表1所示:
表1
Figure BDA0003815149980000083
实施例3
根据实施例1所述的一种基于机器学习的客户流失预警方法,其区别在于:
通过SVM构建流失预警模型,包括:运用python中的SVM库的svm函数构建SVM模型,流失预警模型为SVM模型。
SVM通过在样本空间中构建超平面,来将样本空间按照标签划分为两类。SVM算法目的是找到满足非同类支持向量到超平面的最大距离之和,也就是间隔最大的超平面。
假设对于4S店客户流失识别的二分类问题,已知数据样本集合S={(Xi,yi)}={(X1,y1),(X2,y2)…,(XN,yN)},i=1~N,Xi∈Rn,yi∈(0,1),其中n为样本数量,X表示4S店客户的特征向量,yi为0的时候表示非流失客户,yi为1的时候表示流失客户。SVM算法就是为了构建一个能够将非流失客户和流失客户分离的超平面wTx+b=0,其中w为超平面的法向量,b为超平面的偏移量,为常数。对任意的i=1~N,若yi=1,wTx+b≥0;若yi=0,wTx+b<0。
通过拟合训练的SVM模型在测试集的效果如表2所示。
表2
Figure BDA0003815149980000091
实施例4
根据实施例1所述的一种基于机器学习的客户流失预警方法,其区别在于:
通过随机森林构建流失预警模型,包括:运用python中的Sklearn库的DecisionTreeClassifier函数构建随机森林模型,流失预警模型为随机森林模型。
随机森立(RF)算法以决策树为基学习器,加入了训练过程的随机特征选择。传统决策树构建过程是选择满足当前结点特征集合(假设d个特征)的最优属性,而RF是对于决策树的所有结点,从该结点的特征集合中随机选择k个特征的子集,然后从这些特征中选择最优特征进行分类。k表示随机性的引入程度,当k=d,则为传统决策树;推荐k值一般为log2d。最后在将所有的决策树模型进行结合,得到最终的随机森林模型。随机森林模型的网络架构如图3所示。
通过拟合随机森林模型在测试集的效果如表3所示。
表3
Figure BDA0003815149980000092
实施例5
根据实施例1所述的一种基于机器学习的客户流失预警方法,其区别在于:
通过GA-CART算法构建流失预警模型,为了对多维度客户特征信息进行准确的分类,提升分类器的性能,同时考虑到CART决策树算法的可解释性和易操作性,提出基于遗传算法改进的CART算法,具体算法流程如图4所示。包括:
(i)数据加载
对预处理后的数据进行随机划分,划分为训练集和测试集,训练集和测试集的比例为7:3,并获得客户流失的标签;
(ii)初始化种群
根据4S店客户特征维度来设置染色体长度;4S店客户特征维度、种群规模大小及染色体长度是相同的;其中,样本的特征维度为27,种群规模大小设置为10,随机生成10条染色体;
(iii)计算初始化种群适应度值,并选取最大适应度值对应的染色体;具体包括:
客户特征的选择只有选择和不选择,满足0-1二进制编码,将选择的特征编码成0和1构成的基因串。染色体的总长度和客户的特征数保持一致。假设客户特征数为5,则数据集中的某个个体可能是10010表示。0和1代表是否选择这个特征,当取值为1的时候表示此个体特征被选择,当取值为0的时候表示个体特征未被选择。本发明4S店客户有27个特征,一个个体是1*27为的行向量,随机生成27位0和1组成的行向量,如下所示:
[1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 0 1]表示选择特征维度的第1、4、5、6、10、11、12、13、14、16、17、22、23、24、27的特征,然后选择以上特征,构建CART决策树模型,通过混淆矩阵计算出此次模型的召回率值。
迭代执行,如果是第一次迭代,则最大适应度值即为本次迭代的流失预警模型的召回率;否则,则和上一次迭代的最大召回率进行对比,选取较大召回率值作为最大适应度值;每一次迭代的过程中都会存在本次迭代所对应的基因序列,如果本次迭代的召回率值进行了变化,则更新一次最大召回率所对应的基因序列,反之则不更新;
(iv)以适应度值为指标,采用轮盘赌方法选择下一代染色体,并进行交叉和变异操作;具体包括:
1)采用轮盘赌方法选择下一代染色体:
首先,采用轮盘赌选择,以召回率作为适应度函数的适应值,计算每个个体适应度与所有个体适应度之和的比值,即每个个体被选中概率P(xi);x为个体数的集合,xi表示x集合中的第i个个体,f(xi)表示个体的适应度值,n为个体的数量,如式(III)所示:
Figure BDA0003815149980000101
然后,计算出累积概率Q(xi),如公式(IV)所示:
Figure BDA0003815149980000111
随机生成一个数组m,数组中的元素取值范围在0和1之间,将数组中的元素按从小到大的方式进行排序;若累积概率Q(xi)大于数组中的元素m[i],则个体x(i)被选中,若小于m[i],则比较下一个个体x(i+1)直至选出一个个体为止;
2)交叉和变异操作:
交叉是指单点交叉,单点交叉的实现步骤为:
首先,将父代染色体进行存储,选择一个父代染色体,随机产生一个0-1的随机值,如果小于设定的交叉概率0.8,则该父代染色体进行交叉;
然后,随机在种群中选择一个个体,随机生成一个0到26的数字,即为染色体交叉的位置,将父代染色体和选择后的种群染色体在选定的位置进行基因交换,即完成单点交叉;
重复以上单点交叉的实现步骤,遍历所有的父代染色体;
变异的实现步骤为:对于交叉变异后的种群,选取一个个体,随机产生一个0和1之间的数,如果小于变异的概率0.09,则进行变异,随机生成一个0到26的数字,作为变异的位置,再将该染色体该位置上的0置换成1或1置换成0;重复该过程,直到遍历所有的个体。
对于每个个体中的染色体都会有一定的几率与其他个体产生交叉,采用单点交叉法。同时每个个体的基因都有一定的几率产生变异,由0变1或1变0。
(v)重复执行步骤(iii)至步骤(iv)直至迭代若干次(500次)后停止,得到构建好的流失预警模型。
构建模型的方式就是通过不断的迭代如图5的曲线,找到适应度最大值所对应的基因序列,然后通过选择基因序列中1所在位置所对应的特征,构建CART决策树模型(模型是一个数学的模型),此时的流失预警模型可以实现较好的分类性能,能帮助4S店更好的识别计算出流失客户。
遗传算法迭代500次后,所得到适应度函数变化曲线如图5和最终的染色体基因序列为:[1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1],因此当选择特征维度的第1、3、4、5、6、7、8、10、11、13、14、15、16、17、18、24、25、27位,一共17个特征维度来构建CART模型时,最后得到的Recall值最高为0.9722,通过优化后的预警模型可以帮助企业识别出更多的流失客户,同时也可以看出以上的17个特征对于客户分析是十分重要的,企业也可以通过观察客户的这些特征来分析与客户流失之间的相关性。
综上分析,本发明提出的通过对4S店客户进店信息分析,通过机器学习构建客户流失预警模型,最终通过Python的Tkinter实现人机界面交互完成评估的方法可以应用到4S店客户流失预警中。
实施例6
一种基于机器学习的客户流失预警系统,包括:
数据集获取模块,被配置为,获取数据集;
预处理模块,被配置为,对数据集中的数据进行预处理;
构建及训练客户流失预警模型模块,被配置为,构建客户流失预警模型,并通过预处理后的数据进行训练,得到训练好的客户流失预警模型;
预警模块,被配置为,将待检测的数据通过预处理后输入训练好的客户流失预警模型,得到客户流失预警结果。
实施例7
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现基于机器学习的客户流失预警方法的步骤。
实施例8
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于机器学习的客户流失预警方法的步骤。

Claims (10)

1.一种基于机器学习的客户流失预警方法,其特征在于,包括:
获取数据集;
对数据集中的数据进行预处理;
构建客户流失预警模型,并通过预处理后的数据进行训练,得到训练好的客户流失预警模型;
将待检测的数据通过所述预处理后输入训练好的客户流失预警模型,得到客户流失预警结果。
2.根据权利要求1所述的一种基于机器学习的客户流失预警方法,其特征在于,通过决策树、SVM、随机森林或GA-CART算法构建流失预警模型。
3.根据权利要求2所述的一种基于机器学习的客户流失预警方法,其特征在于,通过决策树构建流失预警模型,包括:流失预警模型为决策树模型;
进一步优选的,决策树模型中,采用CART决策树算法,假设有n个样本集的数据集为D,其中,有k个不同的属性,每个样本属于对应类的概率为pk,数据集D的纯度用GINI指数G(D)来衡量,如式(I)所示:
Figure FDA0003815149970000011
对于数据集D,假设选取特征A作为分支特征,根据特征A的取值将数据集D划分为D1和D2,D1为A=a1的子样本,D2为A≠a1的子样本,在选取特征A作为分支特征条件下数据集D的GINI指数G(D,A)如式(II)所示:
Figure FDA0003815149970000012
Gini(D1)和Gini(D2)分别指数据集D1和D1的样本GINI指数。
4.根据权利要求2所述的一种基于机器学习的客户流失预警方法,其特征在于,通过SVM构建流失预警模型,包括:运用python中的SVM库的svm函数构建SVM模型,流失预警模型为SVM模型。
5.根据权利要求2所述的一种基于机器学习的客户流失预警方法,其特征在于,通过随机森林构建流失预警模型,包括:运用python中的Sklearn库的DecisionTreeClassifier函数构建随机森林模型,流失预警模型为随机森林模型。
6.根据权利要求2所述的一种基于机器学习的客户流失预警方法,其特征在于,通过GA-CART算法构建流失预警模型,包括:
(i)数据加载
对预处理后的数据进行随机划分,划分为训练集和测试集,并获得客户流失的标签;
(ii)初始化种群
根据4S店客户特征维度来设置染色体长度;4S店客户特征维度、种群规模大小及染色体长度是相同的;
(iii)计算初始化种群适应度值,并选取最大适应度值对应的染色体;
迭代执行,如果是第一次迭代,则最大适应度值即为本次迭代的流失预警模型的召回率;否则,则和上一次迭代的最大召回率进行对比,选取较大召回率值作为最大适应度值;每一次迭代的过程中都会存在本次迭代所对应的基因序列,如果本次迭代的召回率值进行了变化,则更新一次最大召回率所对应的基因序列,反之则不更新;
(iv)以适应度值为指标,采用轮盘赌方法选择下一代染色体,并进行交叉和变异操作;具体包括:
1)采用轮盘赌方法选择下一代染色体:
首先,采用轮盘赌选择,以召回率作为适应度函数的适应值,计算每个个体适应度与所有个体适应度之和的比值,即每个个体被选中概率P(xi);x为个体数的集合,xi表示x集合中的第i个个体,f(xi)表示个体的适应度值,n为个体的数量,如式(III)所示:
Figure FDA0003815149970000021
然后,计算出累积概率Q(xi),如公式(IV)所示:
Figure FDA0003815149970000022
随机生成一个数组m,数组中的元素取值范围在0和1之间,将数组中的元素按从小到大的方式进行排序;若累积概率Q(xi)大于数组中的元素m[i],则个体x(i)被选中,若小于m[i],则比较下一个个体x(i+1)直至选出一个个体为止;
2)交叉和变异操作:
交叉是指单点交叉,单点交叉的实现步骤为:
首先,将父代染色体进行存储,选择一个父代染色体,随机产生一个0-1的随机值,如果小于设定的交叉概率0.8,则该父代染色体进行交叉;
然后,随机在种群中选择一个个体,随机生成一个0到26的数字,即为染色体交叉的位置,将父代染色体和选择后的种群染色体在选定的位置进行基因交换,即完成单点交叉;
重复以上单点交叉的实现步骤,遍历所有的父代染色体;
变异的实现步骤为:对于交叉变异后的种群,选取一个个体,随机产生一个0和1之间的数,如果小于变异的概率0.09,则进行变异,随机生成一个0到26的数字,作为变异的位置,再将该染色体该位置上的0置换成1或1置换成0;重复该过程,直到遍历所有的个体;
(v)重复执行步骤(iii)至步骤(iv)直至迭代若干次后停止,得到构建好的流失预警模型。
7.根据权利要求1所述的一种基于机器学习的客户流失预警方法,其特征在于,获取数据集,包括:数据集是指4S店客户进店信息数据;
预处理包括汇总处理以及异常值、缺失值、归一化处理和样本不均衡处理;
进一步优选的,汇总处理,包括:
Step1:删除4S店客户进店信息数据即原始数据D中的无关信息特征,对其它特征按编号命名;
Step2:筛选出底盘号的个数,通过底盘号为索引来检索原始数据D中客户信息,每个底盘号得到相应的客户信息词条;
Step3:将检索到的客户信息进行处理,筛选出最小进店日期、最大进店日期、最大行驶里程、最小购车日期、最大累计维修次数、最大年龄、最大性别、最大客户级别、最大本公司售车、最大保险截止日期;计算出日均行驶里程、累计维修金额、两年内进店次数、客户车龄、车辆价格、客户两年内进店间隔、客户保险是否过期、客户合计总金额、客户是否流失;分别统计出客户进行PDI、事故、优惠索赔、保养、免费检测、召回、小修、市场服务、索赔、预PDI和首保;最后将处理好的客户信息存储到新数据集D′中;
Step4:重复步骤Step2、Step3,直到遍历完底盘号的个数,得到最终的新数据集D′;
进一步优选的,对汇总处理后的数据进行异常值、缺失值、归一化处理和样本不均衡处理,包括:
首先,对新数据集D′进行异常值处理和数据标准化处理;
然后,对缺失值进行随机森林插补处理;
最后,采用SMOTE和ENN结合的方法对样本不均衡问题进行处理。
8.一种基于机器学习的客户流失预警系统,其特征在于,包括:
数据集获取模块,被配置为,获取数据集;
预处理模块,被配置为,对数据集中的数据进行预处理;
构建及训练客户流失预警模型模块,被配置为,构建客户流失预警模型,并通过预处理后的数据进行训练,得到训练好的客户流失预警模型;
预警模块,被配置为,将待检测的数据通过所述预处理后输入训练好的客户流失预警模型,得到客户流失预警结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7任一所述的基于机器学习的客户流失预警方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一所述的基于机器学习的客户流失预警方法的步骤。
CN202211029429.4A 2022-08-25 2022-08-25 一种基于机器学习的客户流失预警方法及系统 Pending CN115526652A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211029429.4A CN115526652A (zh) 2022-08-25 2022-08-25 一种基于机器学习的客户流失预警方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211029429.4A CN115526652A (zh) 2022-08-25 2022-08-25 一种基于机器学习的客户流失预警方法及系统

Publications (1)

Publication Number Publication Date
CN115526652A true CN115526652A (zh) 2022-12-27

Family

ID=84697326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211029429.4A Pending CN115526652A (zh) 2022-08-25 2022-08-25 一种基于机器学习的客户流失预警方法及系统

Country Status (1)

Country Link
CN (1) CN115526652A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116402625A (zh) * 2023-06-07 2023-07-07 平安科技(深圳)有限公司 客户评估方法、装置、计算机设备及存储介质
CN117408742A (zh) * 2023-12-15 2024-01-16 湖南三湘银行股份有限公司 用户筛分方法及系统
CN117422181A (zh) * 2023-12-15 2024-01-19 湖南三湘银行股份有限公司 一种基于模糊标签的代发客户流失预警方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116402625A (zh) * 2023-06-07 2023-07-07 平安科技(深圳)有限公司 客户评估方法、装置、计算机设备及存储介质
CN116402625B (zh) * 2023-06-07 2023-08-29 平安科技(深圳)有限公司 客户评估方法、装置、计算机设备及存储介质
CN117408742A (zh) * 2023-12-15 2024-01-16 湖南三湘银行股份有限公司 用户筛分方法及系统
CN117422181A (zh) * 2023-12-15 2024-01-19 湖南三湘银行股份有限公司 一种基于模糊标签的代发客户流失预警方法及系统
CN117408742B (zh) * 2023-12-15 2024-04-02 湖南三湘银行股份有限公司 用户筛分方法及系统
CN117422181B (zh) * 2023-12-15 2024-04-02 湖南三湘银行股份有限公司 一种基于模糊标签的代发客户流失预警方法及系统

Similar Documents

Publication Publication Date Title
CN112070125A (zh) 一种基于孤立森林学习的不平衡数据集的预测方法
CA2366782C (en) Distributed hierarchical evolutionary modeling and visualization of empirical data
CN115526652A (zh) 一种基于机器学习的客户流失预警方法及系统
CN111861698B (zh) 一种基于贷款多头数据的贷前审批预警方法及系统
EP1866851A2 (en) Constrained tree structure method and system
CN110706039A (zh) 电动汽车残值率评估系统、方法、设备及介质
CN108921602B (zh) 一种基于集成神经网络的用户购买行为预测方法
CN112990386B (zh) 用户价值聚类方法、装置、计算机设备和存储介质
CA3037941A1 (en) Method and system for generating and using vehicle pricing models
CN115147155A (zh) 一种基于集成学习的铁路货运客户流失预测方法
CN114997916A (zh) 潜在用户的预测方法、系统、电子设备和存储介质
Kim et al. Predicting corporate defaults using machine learning with geometric-lag variables
WO2023225529A2 (en) Predictive systems and processes for product attribute research and development
CN113837843A (zh) 产品推荐方法、装置、介质及电子设备
CN112991026A (zh) 一种商品推荐方法、系统、设备及计算机可读存储介质
CN117114812A (zh) 一种针对企业的金融产品推荐方法及装置
Yang et al. Sequential clustering and classification approach to analyze sales performance of retail stores based on point-of-sale data
CN115237970A (zh) 数据预测方法、装置、设备、存储介质及程序产品
Hemendiran et al. Predicting the Prices of the Used Cars using Machine Learning for Resale
Boyko et al. Methodology for Estimating the Cost of Construction Equipment Based on the Analysis of Important Characteristics Using Machine Learning Methods
US11004156B2 (en) Method and system for predicting and indexing probability of financial stress
CN113269610A (zh) 银行产品的推荐方法、装置及存储介质
Collard Price prediction for used cars: a comparison of machine learning regression models
CN112232945A (zh) 一种确定个人客户授信的方法及装置
Dewi et al. Modeling Salesperson Performance Based On Sales Data Clustering

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination