一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于决策树和二分K均值聚类的客户分群方法及系统与流程

2022-03-30 10:18:14 来源:中国专利 TAG:

一种基于决策树和二分k均值聚类的客户分群方法及系统
技术领域
1.本发明涉及数据处理技术领域,尤其涉及一种基于决策树和二分k均值聚类的客户分群方法及系统。


背景技术:

2.我国的经济已由高速增长阶段转向高质量发展阶段。在这样的大背景下,许多行业从增量经营的时代跨入了存量经营的时代,以大数据为依托的精细化管理与精细化运营是企业发展的必然趋势。而精准的客户分群则是精细化运营的基础,它可以使我们更了解自己的客户。好的分群不仅可以在精准营销上提供支撑,更可以使产品设计更具针对性,提升客户体验。在实际的客户经营中,客户的生命周期可以分为开始、成长、稳定、下降、离开几个阶段,客户分群可以贯穿整个完整的生命周期。如开始阶段的引流与获取、成长阶段的产品推荐与习惯培养、稳定阶段的新产品设计、下降阶段的预警与促动以及离开阶段的挽留,精准的客户分群都可以帮助企业设计和营销更符合客户期望的产品,当客户有负面的行为时,也可以更为及时的作出预警。
3.当前主流的客户分群方法以业务经验提取的规则为主,业务经验规则分群依赖于业务专家的经验,在新场景领域运用时具有一定壁垒,无法快速施展业务。除此之外,业务规则一般由少量的简单的规则复核构成,精细化程度较低。而基于机器学习算法进行的客户分群以kmeans算法、层次聚类算法为主的无监督学习聚类算法为主;而基于无监督学习聚类的分群方法有着计算效率高、精度较好的特点,但算法结果的可解释性差,分群结果边界不清晰,不利于实际的业务经营。这些聚类算法的分群倾向于将客户集中划分到某一大类,容易产生一些客户数很少的异常类。


技术实现要素:

4.为解决现有技术的不足,本发明提出一种基于决策树和二分k均值聚类的客户分群方法及系统,通过客户的特征对客户进行分群,每个客群可以输出特征规则用以刻画,特征规则具有良好的解释性,可结合业务经验进行调整,形成一个高精度且兼备解释性的客户分群规则,同时还保留了机器学习类方法的精准性并可支持无监督学习与有监督学习两类训练方式。基于本发明方法输出的客户分群,可用于对客户的精准营销、产品设计、风险管理等方面,提升企业精细化经营水平,同时也可为产品设计提供依据。
5.为实现以上目的,本发明所采用的技术方案包括:
6.一种基于决策树和二分k均值聚类的客户分群方法,其特征在于,包括:
7.s1、客户特征处理;
8.s2、分群算法实施;
9.其中,步骤s1包括以下分步骤:
10.s11、填补客户特征中的缺失值;
11.s12、将离散型的客户特征转换为连续型;
12.步骤s2包括以下分步骤:
13.s21、设置包含若干客户分群初始簇的簇集合以及最大簇数量;
14.s22、使用经过处理的客户特征进行分割,获得包含若干对应客户特征的候选分裂点的候选分裂点集合;
15.s23、判断当前算法实施模式为无监督学习或有监督学习并选择对应判断结果的增益计算依据,对簇集合中的簇使用各自对应的候选分裂点进行分裂并分别进行增益计算,获得对应各候选分裂点的增益率;所述增益率为分裂后簇的损失与分裂前簇的损失之间的比值,或,所述增益率为分裂前簇的损失与分裂后簇的损失之间的差值;所述簇的损失包括簇内各点至簇中心的欧式距离的总和;
16.s24、根据预设的限制条件对各候选分裂点及对应的增益率进行预剪枝;
17.s25、选择预剪枝后增益率最大的候选分裂点及对应的簇作为当前轮次分裂点和对象簇,获得分裂后的两个新簇;
18.s26、使用获得的两个新簇替换对象簇,获得当前轮次簇集合;
19.s27、对当前轮次簇集合重复执行分步骤s22至s26,直至当前轮次簇集合中的簇数量达到最大簇数量,输出分群结果。
20.进一步地,所述分步骤s27包括:
21.对当前轮次簇集合中的新簇执行分步骤s22至s24,并使用新簇的增益率与当前轮次簇集合中原有的簇的增益率进行比较选择增益率最大的候选分裂点。
22.进一步地,所述填补客户特征中的缺失值包括:
23.根据客户特征对应的业务逻辑填补缺失值;
24.和/或,使用已有值的中位数或平均值填补缺失值;
25.和/或,使用与已有值的阈值存在显著差异的特异值填补缺失值。
26.进一步地,所述将离散型的客户特征转换为连续型包括:
27.使用one-hot编码将无序离散特征转换为二进制向量形式的连续型客户特征;
28.使用有序编码映射将有序离散特征转换为数值顺序形式的连续型客户特征。
29.进一步地,所述使用经过处理的客户特征进行分割包括:
30.对客户特征的取值进行等分或遍历,选择等位数点作为候选分裂点。
31.进一步地,所述预设的限制条件包括以下一种或多种的组合:
32.限定使用候选分裂点进行分裂后簇的规模不小于客群原始规模除以最大簇数量的三倍;
33.限定使用候选分裂点进行分裂后簇的增益率不小于预设的最小增益率;
34.限定使用候选分裂点进行分裂后簇的再分裂次数不大于预设的分裂次数阈值;
35.限定使用单一客户特征进行分割所产生的候选分裂点的再分裂次数不大于预设的分裂次数阈值。
36.进一步地,所述分步骤s27还包括:
37.在当前轮次簇集合中的簇数量达到最大簇数量之前,若预剪枝后不存在满足限制条件的候选分裂点,则停止分裂并输出分群结果。
38.本发明还涉及一种基于决策树和二分k均值聚类的客户分群系统,其特征在于,包括:
39.由特征值填补子模块和离散特征转换子模块组成的客户特征处理模块,用于填补客户特征中的缺失值以及将离散型的客户特征转换为连续型;
40.分群算法实施模块,根据经过客户特征处理模块处理后的客户特征将客户分群,输出分群结果。
41.本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
42.本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;
43.所述存储器,用于存储客户特征;
44.所述处理器,用于通过调用客户特征,执行上述的方法。
45.本发明的有益效果为:
46.采用本发明所述基于决策树和二分k均值聚类的客户分群方法及系统,是一种在原有机器学习分群方法上的改进方法,支持监督学习和无监督学习训练,且得到的分群结果具有较强的可解释性,符合一般业务规则逻辑,容易理解,同时仍然具有常规机器学习方法的精确性优点,整体上不容易出现客户大量集中、客户数极少的异常分类,便于使用者根据业务经验进行针对性调整。
附图说明
47.图1为本发明所述基于决策树和二分k均值聚类的客户分群方法流程示意图。
48.图2为本发明所述基于决策树和二分k均值聚类的客户分群系统结构示意图。
具体实施方式
49.为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
50.本发明第一方面涉及一种如图1所示流程的基于决策树和二分k均值聚类的客户分群方法,主要包括s1、客户特征处理和s2、分群算法实施两个步骤。其中,s1、客户特征处理需要对不能直接执行分群算法的特殊客户特征进行预处理,主要包括s11、填补客户特征中的缺失值和s12、将离散型的客户特征转换为连续型两个子步骤。在客户分群的场景中,往往有性别、年龄、学历等客户基础属性,也有客户交易、点击轨迹等行为特征。总体而言,这些特征都可分成三类:连续型特征、离散有序特征、离散无序特征,需要对客户特征进行缺失值填补,并在完成缺失值的填补后,对连续型特征可以不再做处理直接使用,而对有序离散特征则需将其转换为有序连续型变量,对无序的离散特征,需进行one-hot编码转换,以便算法可以对特征进行分裂点的计算。
51.具体的,在填补客户特征中的缺失值时可以根据缺失的情况优选选择根据客户特征对应的业务逻辑填补缺失值;对于随机分布的缺失内容,可以使用已有值的中位数或平均值填补缺失值;如无法确定缺失值的业务逻辑、分布类型且缺失值占比较大,可以使用与已有值的阈值存在显著差异的特异值填补缺失值,例如以-99999作为代替,这种差异极大的值在分群过程中将被单独识别分开。
52.对于离散型的客户特征转换,包括无序离散特征和有序离散特征。其中,无序离散特征例如客户数据中的居住城市、行业等,需将特征进行one-hot编码,转换为连续型的特征。one-hot编码,又名一位有效编码,可将分类变量转换成多个二进制向量,每个向量代表
原分类变量的其中一个状态。如表1所示,城市为一种典型的无序特征,各城市之间在大多数语义下不具有优先级的概念。经过one-hot编码转换后,特征从一个4x1的向量转换为3个4x1的特征,分别是城市取值是否为深圳、城市取值是否为北京、城市取值是否为上海,客户id 为1的客户的城市取值为深圳,则经过one-hot编码后,它取值变成了(1,0,0)。 one-hot编码可以将离散型特征转变为连续型特征。
53.表1
[0054][0055]
对于有序离散特征,如学历、职位等级等具有固定逻辑顺序的信息,需将对应的码值映射为连续型特征。如表2所示的学历为一种典型的有序离散特征,根据码值优先级对码值从小到大或者从大到小进行编码,特征编码无需考虑编码后的取值间隔。
[0056]
表2
[0057][0058][0059]
对于s2、分群算法实施,主要包括以下分步骤:
[0060]
s21、设置包含若干客户分群初始簇的簇集合以及最大簇数量。
[0061]
s22、使用经过处理的客户特征进行分割,对客户特征的取值进行等分或遍历,选择等位数点作为候选分裂点,获得包含若干对应客户特征的候选分裂点的候选分裂点集合。
[0062]
s23、判断当前算法实施模式为无监督学习或有监督学习并选择对应判断结果的增益计算依据,对簇集合中的簇使用各自对应的候选分裂点进行分裂并分别进行增益计算,获得对应各候选分裂点的增益率;所述增益率为分裂后簇的损失与分裂前簇的损失之间的比值,或,所述增益率为分裂前簇的损失与分裂后簇的损失之间的差值;所述簇的损失包括簇内各点至簇中心的欧式距离的总和;
[0063]
s24、根据预设的限制条件对各候选分裂点及对应的增益率进行预剪枝;优选的,可以选择使用的限制条件包括:限定使用候选分裂点进行分裂后簇的规模不小于客群原始规模除以最大簇数量的三倍、限定使用候选分裂点进行分裂后簇的增益率不小于预设的最小增益率、限定使用候选分裂点进行分裂后簇的再分裂次数不大于预设的分裂次数阈值、
限定使用单一客户特征进行分割所产生的候选分裂点的再分裂次数不大于预设的分裂次数阈值。
[0064]
s25、选择预剪枝后增益率最大的候选分裂点及对应的簇作为当前轮次分裂点和对象簇,获得分裂后的两个新簇;
[0065]
s26、使用获得的两个新簇替换对象簇,获得当前轮次簇集合;
[0066]
s27、对当前轮次簇集合重复执行分步骤s22至s26,直至当前轮次簇集合中的簇数量达到最大簇数量,或,在当前轮次簇集合中的簇数量达到最大簇数量之前,若预剪枝后不存在满足限制条件的候选分裂点,则停止分裂,输出分群结果。优选的,对当前轮次簇集合中的新簇执行分步骤s22至s24,并使用新簇的增益率与当前轮次簇集合中原有的簇的增益率进行比较选择增益率最大的候选分裂点,可以显著的减少计算量。
[0067]
具体的,如表3所示的实施例1,以经过处理后的客户特征数据集d={x,y}为例,其中原始客户特征x={x1,x2...x
p
};分群依据y={y1,y2...yq};给定最大簇的数量k。
[0068]
表3
[0069]
[0070][0071]
其中,表3中的序号06对应分步骤s22,对特征取值进行进行遍历或者等分,数据量较大时采用5等分或者10等分,选取等位数点,加入到候选分裂点集合中。
[0072]
表3中的序号09对应分步骤s23,根据分裂点,特征可以将数据集一分为二,分别可根据原始数据分群依据y计算此时可定义损失:
[0073]
损失
[0074]
即簇内点到簇中心的欧氏距离。需要指出的是,当训练方式是无监督学习时, y=x,即用输入特征来划分客群与衡量簇内的点的聚集程度;当训练方式是有监督学习时,则会使用x来切分客群,用y来衡量簇内点的聚集程度。当y坍缩为1xn的向量时,此时算法与回归树的效果是一致的。
[0075]
对分裂前后的簇分别计算损失,可定义绝对增益为:
[0076]
gain=δ(d
分裂前
)-(δ(d
分裂后簇1
) δ(d
分裂后簇2
))绝对增益
[0077]
绝对增益会使得算法倾向于选择规模比较大的簇进行分裂。为了避免这种情况,也可以采用相对增益,定义增益率:
[0078]
相对增益。
[0079]
表3中的序号12对应分步骤s25,还优选的包括有对应分步骤s24的预剪枝步骤。完成增益计算后,为避免算法过度拟合,需对算法进行剪枝。常见的预剪枝方式有对子节点的最小分裂规模、分裂最小增益、分裂最小增益率、最大深度、特征最大使用次数等进行限制。如果算法算分的客群的客户数过少,从算法性能上可能会过度拟合,若使用增益率作为筛选最优簇时,算法将更倾向于小的客群。而从业务经营的角度,过小的客群不利于营销活动或者管制措施的开展。算法会对分裂的子节点规模进行限制,根据业务经验,本发明的最小分裂规模默认设置为其中n是原始客群的规模大小,k是最大客群数。分群的总误差会从大到小逐渐下降,下降的速度会越来越慢。如果最大客群数的设置的过大,就会存在每次分裂时实际误差的下降已经很小,但仍然在继续分裂,这会导致算法过度拟合,影响预测性能。本发明支持对每次分裂质量作出限制,及时停止冗余的分裂,需注意的是使用该参数可能会导致算法无法分裂至最大的客群数。为了避免算法反复对同一分支的客群进行分割,导致某一子节点深度远大于其他子节点,同时避免算法出现过度拟合。算法支持对子节点的最大深度进行限制。如果存在某一特征的区分能力较强,它可能会作为最优分割特征被算法反复使用。这样切割出来的客群在实际业务经营中可解释性较差,因此算法支持对特征最大的使用次数进行限制。
[0080]
对应分步骤s27,在完成对当前簇表的所有簇的特征分裂、增益计算以及预剪枝后,算法选取增益最大的分裂方式及其对应的簇进行分裂。同时在簇表中剔除最优簇,增加从最优簇分裂而得的两个新簇。在下一次迭代中,算法仅对新增的簇计算分裂特征、分裂点及对应的增益。然后将新增的簇与前序落选的簇进行比较,再次选择出最优分割。当簇表的簇数达到设置的最大簇数或者因为预剪枝导致无候选的分裂方式,则算法自动终止。输出分群结果、分群规则。
[0081]
本发明第二方面涉及一种基于决策树和二分k均值聚类的客户分群系统,结构如图2所示,包括:
[0082]
由特征值填补子模块和离散特征转换子模块组成的客户特征处理模块,用于填补客户特征中的缺失值以及将离散型的客户特征转换为连续型;
[0083]
分群算法实施模块,根据经过客户特征处理模块处理后的客户特征将客户分群,输出分群结果。
[0084]
使用该系统可以实现上述方法的实施。
[0085]
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献