一种基于K-Means&LightGBM模型的共享交通服务reorder预估方法转让专利

申请号 : CN201710806111.5

文献号 : CN107633035A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李红杨国青杨晓声郑璐洁吴朝晖

申请人 : 浙江大学

摘要 :

本发明公开了一种基于K-Means&LightGBM模型的共享交通服务reorder预估方法,该方法从数据库进行选择性抽取与新增数据抽取分别形成历史数据与增量数据;对两个数据集进行数据探索分析与预处理,包括数据缺失值与异常值的探索分析,数据的属性规约、清洗和变换;利用已完成的数据预处理的建模数据,结合具体业务,创造新地提出了基于客户价值LRFMD模型进行客户分群,并采用LightGBM模型对分类数据进行训练预测;针对模型预测得出的结果,采用不同的营销手段,定制下一阶段的营业目标,提供定制化服务,提高用户满意度,促进企业的发展。

权利要求 :

1.一种基于K-Means&LightGBM模型的共享交通服务reorder预估方法,包括如下步骤:

(1)从数据库中抽取大量客户的租用驾驶数据,并基于分析观测窗口将这些驾驶数据分为历史数据集和增量数据集;

(2)对历史数据集进行预处理,包括数据清洗、属性规约以及数据变换,从而得到每个客户的LRFMD向量;所述LRFMD向量由LRFMD五个指标组成:L表示客户注册时间start_time距分析观测窗口结束时间load_time的月数,R表示客户在分析观测窗口内的最后一次租用驾驶结束时间end_time距分析观测窗口结束时间load_time的月数,F表示客户在分析观测窗口内的租用驾驶次数,M表示客户在分析观测窗口内的累计行驶里程,D表示客户在分析观测窗口内每次租用驾驶所享受的平均折扣金额;

(3)利用客户的LRFMD向量通过基于客户价值的LRFMD模型进行客户分群,得到多个客户群;

(4)从客户租用驾驶记录中选定某一行为特征作为感兴趣特征项,进而将客户租用驾驶记录中其余行为特征通过特征工程转换生成训练样本,并使记录中感兴趣特征项的具体特征值作为训练样本的真值标签;

(5)对于任一客户群,将属于该客户群客户的训练样本及其真值标签通过微软开源的LightGBM进行训练,得到能够预估该客户群客户关于感兴趣特征项的预估模型;

(6)对于任一客户,将其历史租用驾驶记录输入该客户所在客户群对应的预估模型,从而得到该客户关于感兴趣特征项的具体估计值,用以推荐及营销。

2.根据权利要求1所述的共享交通服务reorder预估方法,其特征在于:所述步骤(1)的具体实现过程为:首先,选定过去的某一时间点load_time,以时间点load_time为结束时间,截取宽度为一年的时间段作为分析观测窗口,使分析观测窗口内有租用驾驶记录的所有客户租用驾驶数据作为历史数据集;然后,使时间点load_time至当前时间点区间内有租用驾驶记录的所有客户租用驾驶数据作为增量数据集。

3.根据权利要求1所述的共享交通服务reorder预估方法,其特征在于:所述步骤(2)中数据清洗的具体实现过程为:首先,丢弃存在缺失值的租用驾驶记录,即租用驾驶记录中某列属性存在空值,则删除该条记录;然后,丢弃行驶距离大于0且消费金额以及折扣金额均等于0的租用驾驶记录。

4.根据权利要求1所述的共享交通服务reorder预估方法,其特征在于:所述步骤(2)中属性规约的具体实现过程为:从客户在分析观测窗口内的租用驾驶数据中提取出以下8个属性:客户ID、客户的注册时间start_time、客户在分析观测窗口内的最后一次租用驾驶结束时间end_time、分析观测窗口的结束时间load_time、每次租用驾驶的行驶里程current_miles、每次租用驾驶的总消费金额cost、每次租用驾驶的实际支付金额money、每次租用驾驶的折扣金额bonus。

5.根据权利要求4所述的共享交通服务reorder预估方法,其特征在于:所述步骤(2)中数据变换的具体实现过程为:首先,基于属性规约所得到的8个属性计算出每个客户的LRFMD五个指标;然后,对这五个指标进行z-score标准化处理后即得到LRFMD向量。

6.根据权利要求1所述的共享交通服务reorder预估方法,其特征在于:所述步骤(3)中通过基于客户价值的LRFMD模型进行客户分群,即采用改进型K-Means算法根据LRFMD向量对客户进行聚类分群,将客户分成k类,对应k个客户群,k为设定的类别数且为大于1的自然数。

7.根据权利要求6所述的共享交通服务reorder预估方法,其特征在于:所述改进型K-Means算法的具体过程如下:

3.1将所有客户的LRFMD向量组成样本集,初始情况下通过计算从样本集中选取出k个LRFMD向量作为聚类中心;

3.2逐个将样本集中的LRFMD向量按最小距离原则分配给k个聚类中心,形成k个种群;

3.3重新构建每个种群的中心点,使其作为种群新的聚类中心;若每个种群新聚类中心与旧聚类中心的距离均小于阈值,则计算结束,以当前的k个种群作为分类结果,否则转为执行步骤3.2。

8.根据权利要求7所述的共享交通服务reorder预估方法,其特征在于:所述步骤3.1中初始选取聚类中心的具体过程如下:

3.1.1随机从样本集中选取k个LRFMD向量,并重复k次,得到k×k个LRFMD向量;

3.1.2对这k×k个LRFMD向量进行聚类,聚成k类,并计算出每类的中心点;

3.1.3构建这k个中心点的中心点O,取样本集中与中心点O距离最近的LRFMD向量作为备选点,并保存该距离;

3.1.4重复执行步骤3.1.1~3.1.3,得到k个备选点及其与中心点O的距离,根据距离与概率正相关的原则随机从这k个备选点中选取出一个备选点,作为初始化的聚类中心;

3.1.5重复执行步骤3.1.1~3.1.4,从而得到k个聚类中心。

9.根据权利要求1所述的共享交通服务reorder预估方法,其特征在于:所述步骤(3)中通过分群得到多个客户群后,利用增量数据集通过步骤(2)和(3)同样的过程对分类结果进行验证以及修正;其中,利用增量数据集得到每个客户的LRFMD向量由以下LRFMD五个指标组成:L表示客户注册时间start_time距当前时间点的月数,R表示客户在分析观测窗口结束时间load_time至当前时间点区间内的最后一次租用驾驶结束时间end_time*距当前时间点的月数,F表示客户在分析观测窗口结束时间load_time至当前时间点区间内的租用驾驶次数,M表示客户在分析观测窗口结束时间load_time至当前时间点区间内的累计行驶里程,D表示客户在分析观测窗口结束时间load_time至当前时间点区间内每次租用驾驶所享受的平均折扣金额。

10.根据权利要求1所述的共享交通服务reorder预估方法,其特征在于:所述步骤(5)中对于任一客户群,将属于该客户群客户的所有训练样本分为训练集和测试集,其中70%的训练样本及其真值标签用于通过微软开源的LightGBM进行训练,其余30%的训练样本及其真值标签用于对预估模型进行测试以及微调。

说明书 :

一种基于K-Means&LightGBM模型的共享交通服务reorder预

估方法

技术领域

[0001] 本发明属于数据挖掘技术领域,具体涉及一种基于K-Means&LightGBM模型的共享交通服务reorder预估方法。

背景技术

[0002] 现在由于共享交通的飞速发展,一些基于共享交通平台的业务相应而生,由于共享交通平台客户的规模增大,客户背景、行为特征的不同,对用户再次使用产品行为进行准确有效的预估,是企业优化营销资源分配、定向推送服务广告的重要依据。共享交通领域的reorder预估问题,面临的是超高维离散特征空间中模式发现的挑战——如何拟合现有的数据规律,同时又具备推广性。
[0003] 业界传统的reorder预估解法是广义线性模型LR(logistic regression,逻辑回归)+人工特征工程,LR使用了Logit变换将函数值映射到0~1区间,映射后的函数值就是reorder的预估值。LR这种线性模型很容易并行化,处理上亿条训练样本不是问题,但这种解法的不足是:因为线性模型的学习能力有限,需要引入大量的领域知识来人工设计特征以及特征之间的交叉组合来间接补充算法的非线性学习能力,非常消耗人力和机器资源,迁移性不够友好。另外,目前业界也有一些效果不错的非线性模型不断被提出来,并被工程实践且取得不错效果,但这些模型都或多或少存在一些不足;比如Kernel方法,因为复杂度太高而不易实现;比如Treebased方法,有效地解决了LR模型的特征组合问题,但缺点就是仍然是对历史行为的记忆,缺乏推广性;还有FM(factorizationmachine)模型,能自动学习高阶属性的权值,不用通过人工的方式选取特征来做交叉,但FM模型只能拟合特定的非线性模式,如最常用的2阶FM只能拟合特征之间的线性关系和二次关系。
[0004] 深度神经网络非线性拟合能力足够强,但面对共享交通领域这样的大规模工业级稀疏数据,适合数据规律的、具备推广性的网络结构业界依然在探索中,尤其是要做到端到端规模化上线,这里面的技术挑战依然很大。

发明内容

[0005] 鉴于上述,本发明提供了一种基于K-Means&LightGBM模型的共享交通服务reorder预估方法,创新地提出并实现了聚类分区并直接在各聚类空间学习特征之间的非线性关系,基于数据自动发掘可推广的模式,相比于人工特征工程效率和精度均有了大幅提升。
[0006] 一种基于K-Means&LightGBM模型的共享交通服务reorder预估方法,包括如下步骤:
[0007] (1)从数据库中抽取大量客户的租用驾驶数据,并基于分析观测窗口将这些驾驶数据分为历史数据集和增量数据集;
[0008] (2)对历史数据集进行预处理,包括数据清洗、属性规约以及数据变换,从而得到每个客户的LRFMD向量;所述LRFMD向量由LRFMD五个指标组成:L表示客户注册时间start_time距分析观测窗口结束时间load_time的月数,R表示客户在分析观测窗口内的最后一次租用驾驶结束时间end_time距分析观测窗口结束时间load_time的月数,F表示客户在分析观测窗口内的租用驾驶次数,M表示客户在分析观测窗口内的累计行驶里程,D表示客户在分析观测窗口内每次租用驾驶所享受的平均折扣金额;
[0009] (3)利用客户的LRFMD向量通过基于客户价值的LRFMD模型进行客户分群,得到多个客户群;
[0010] (4)从客户租用驾驶记录中选定某一行为特征作为感兴趣特征项,进而将客户租用驾驶记录中其余行为特征通过特征工程转换生成训练样本,并使记录中感兴趣特征项的具体特征值作为训练样本的真值标签;
[0011] (5)对于任一客户群,将属于该客户群客户的训练样本及其真值标签通过微软开源的LightGBM(Light GradientBoosting Machine)进行训练,得到能够预估该客户群客户关于感兴趣特征项的预估模型;
[0012] (6)对于任一客户,将其历史租用驾驶记录输入该客户所在客户群对应的预估模型,从而得到该客户关于感兴趣特征项的具体估计值,用以推荐及营销。
[0013] 所述步骤(1)的具体实现过程为:首先,选定过去的某一时间点load_time,以时间点load_time为结束时间,截取宽度为一年的时间段作为分析观测窗口,使分析观测窗口内有租用驾驶记录的所有客户租用驾驶数据作为历史数据集;然后,使时间点load_time至当前时间点区间内有租用驾驶记录的所有客户租用驾驶数据作为增量数据集。
[0014] 所述步骤(2)中数据清洗的具体实现过程为:首先,丢弃存在缺失值的租用驾驶记录,即租用驾驶记录中某列属性存在空值,则删除该条记录;然后,丢弃行驶距离大于0且消费金额以及折扣金额均等于0的租用驾驶记录。
[0015] 所述步骤(2)中属性规约的具体实现过程为:从客户在分析观测窗口内的租用驾驶数据中提取出以下8个属性:客户ID、客户的注册时间start_time、客户在分析观测窗口内的最后一次租用驾驶结束时间end_time、分析观测窗口的结束时间load_time、每次租用驾驶的行驶里程current_miles、每次租用驾驶的总消费金额cost、每次租用驾驶的实际支付金额money、每次租用驾驶的折扣金额bonus。
[0016] 所述步骤(2)中数据变换的具体实现过程为:首先,基于属性规约所得到的8个属性计算出每个客户的LRFMD五个指标;然后,对这五个指标进行z-score标准化处理后即得到LRFMD向量。
[0017] 所述步骤(3)中通过基于客户价值的LRFMD模型进行客户分群,即采用改进型K-Means算法根据LRFMD向量对客户进行聚类分群,将客户分成k类,对应k个客户群,k为设定的类别数且为大于1的自然数。
[0018] 所述改进型K-Means算法的具体过程如下:
[0019] 3.1将所有客户的LRFMD向量组成样本集,初始情况下通过计算从样本集中选取出k个LRFMD向量作为聚类中心;
[0020] 3.2逐个将样本集中的LRFMD向量按最小距离原则分配给k个聚类中心,形成k个种群;
[0021] 3.3重新构建每个种群的中心点,使其作为种群新的聚类中心;若每个种群新聚类中心与旧聚类中心的距离均小于阈值,则计算结束,以当前的k个种群作为分类结果,否则转为执行步骤3.2。
[0022] 所述步骤3.1中初始选取聚类中心的具体过程如下:
[0023] 3.1.1随机从样本集中选取k个LRFMD向量,并重复k次,得到k×k个LRFMD向量;
[0024] 3.1.2对这k×k个LRFMD向量进行聚类,聚成k类,并计算出每类的中心点;
[0025] 3.1.3构建这k个中心点的中心点O,取样本集中与中心点O距离最近的LRFMD向量作为备选点,并保存该距离;
[0026] 3.1.4重复执行步骤3.1.1~3.1.3,得到k个备选点及其与中心点O的距离,根据距离与概率正相关的原则随机从这k个备选点中选取出一个备选点,作为初始化的聚类中心;
[0027] 3.1.5重复执行步骤3.1.1~3.1.4,从而得到k个聚类中心。
[0028] 所述步骤(3)中通过分群得到多个客户群后,利用增量数据集通过步骤(2)和(3)同样的过程对分类结果进行验证以及修正;其中,利用增量数据集得到每个客户的LRFMD向量由以下LRFMD五个指标组成:L表示客户注册时间start_time距当前时间点的月数,R表示客户在分析观测窗口结束时间load_time至当前时间点区间内的最后一次租用驾驶结束时间end_time*距当前时间点的月数,F表示客户在分析观测窗口结束时间load_time至当前时间点区间内的租用驾驶次数,M表示客户在分析观测窗口结束时间load_time至当前时间点区间内的累计行驶里程,D表示客户在分析观测窗口结束时间load_time至当前时间点区间内每次租用驾驶所享受的平均折扣金额。
[0029] 所述步骤(5)中对于任一客户群,将属于该客户群客户的所有训练样本分为训练集和测试集,其中70%的训练样本及其真值标签用于通过微软开源的LightGBM进行训练,其余30%的训练样本及其真值标签用于对预估模型进行测试以及微调。
[0030] 本发明共享交通服务reorder预估方法从数据库进行选择性抽取与新增数据抽取分别形成历史数据与增量数据;对两个数据集进行数据探索分析与预处理,包括数据缺失值与异常值的探索分析,数据的属性规约、清洗和变换;利用已完成的数据预处理的建模数据,结合具体业务,创造新地提出了基于客户价值LRFMD模型进行客户分群,并采用LightGBM模型对分类数据进行训练预测;针对模型预测得出的结果,采用不同的营销手段,定制下一阶段的营业目标,提供定制化服务,提高用户满意度,促进企业的发展。

附图说明

[0031] 图1为本发明共享交通服务reorder预估方法的流程示意图。
[0032] 图2为本发明K-means聚类算法的流程示意图。

具体实施方式

[0033] 为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
[0034] 如图1所示,本发明基于K-Means&LightGBM模型的共享交通服务reorder预估方法,包括如下步骤:
[0035] (1)从萝卜车后台数据库抽取数据,以2017/1/12为结束时间,选取宽度为一年的时间段作为分析观测窗口,抽取观测窗口内有驾驶记录的所有客户的详细数据形成历史数据;对于后续新增的客户详细信息,以后续新增数据中最新时间点作为结束时间,采用上述同样的方法进行抽取,形成增量数据;从萝卜车系统内的客户基本信息、驾驶记录、消费信息以及积分信息等详细数据中,抽取2016/1/12-2017/1/12内所有客户的详细数据,总共有563489条记录,其中包括了客户ID号、注册时间、交易时间、行驶距离、性别、年龄、支付形式等30个属性。
[0036] (2)对两个数据集进行探索分析,主要是对数据进行缺失值与异常值分析,分析出数据规律以及异常值,通过对数据观察发现原始数据中某列属性存在空值即为缺失值,行驶距离大于0,消费金额等于0,折扣金额等于0的记录为异常值;接着对数据进行预处理,本实施方式主要采用数据清洗、属性规约和数据变换的预处理方法;数据清洗即丢弃存在缺失值及异常值的记录;属性规约即选择与LRFMD模型指标相关的8个属性:客户ID号user_id、注册时间start_time、最近一次驾驶结束时间end_time、观测窗口结束时间load_time、行驶历程current_miles、消费金额cost、实际支付金额money、折扣金额bonus,删除与其不相关、弱相关或者冗余的属性,例如性别、交易识别码、刹车次数、支付类型等属性;进而将数据转成“适当”的格式,以适应挖掘任务及算法需要,本实施方式采用的数据变换方式为属性构造和数据标准化,由于原始数据中并没有给出LRFMD五个指标,需要通过原始数据提取这五个指标,具体计算方式如下:
[0037] L=load_time-start_time
[0038] R=load_time-end_time
[0039] F=count
[0040] M=SUM(current_miles)
[0041] D=AVG(bonus)
[0042] 其中:count为单个用户在观测的时间窗口内的驾驶次数,SUM(current_miles)为单个用户在观测时间窗口内的驾驶距离之和,AVG(bonus)为单个用户在观测时间窗口内所享受折扣的平均值。
[0043] 从以上5个指标的数据提取后,对每个指标数据分布情况进行分析,需要对数据进行标准化处理,z-score标准化处理公式如下:
[0044]
[0045] 其中:X为某一用户某一属性的取值,μ为该属性下所有用户的均值,σ为该属性下所有用户的均方差。
[0046] (3)模型构建,reorder预估模型构建主要由两个部分构成,第一部分根据萝卜车客户5个指标数据,对客户进行聚类分群;第二部分则针对每一客户群通过训练构建对应的预估模型。
[0047] 第一部分,本实施方式采用改进型K-means聚类算法对客户数据进行客户分群,聚成5类,具体步骤如图2所示:
[0048] a1.从客户集中选择5个客户作为质心;改进型K-means聚类算法的改进之处即在于初始质心的选取,具体过程为:
[0049] a1-1随机选择5个点(客户),重复5次,得到5×5个点;
[0050] a1-2对这5×5个点进行聚类,聚成5类,每类均有中心点;
[0051] a1-3构建这5个中心点的中心点O,使中心点O作为初始随机点;
[0052] a1-4取客户集中与该初始随机点距离最近的点,并保存该距离;
[0053] a1-5重复执行步骤a1-1~a1-4,得到k个距离,根据距离与概率正相关的原则随机从中选取一个距离对应的点,作为初始聚类中心;
[0054] a1-6重复执行步骤a1-1~a1-5,得到k个初始质心。
[0055] a2.对剩余的每个用户测量其到每个质心的距离,并把它归到最近的质心的类;距离计算公式为:
[0056]
[0057] a3.重新计算已经得到的各个类的质心;
[0058] a4.迭代步骤a2~步骤a3直至新的质心与原质心相等或距离小于指定阈值,算法结束。
[0059] 第二部分,模型构建的具体步骤如下:
[0060] b1.针对聚类结果,将原始数据集分成5类;
[0061] b2.对于任一类数据集,从该类数据集中随机抽取70%用户的最后一次购买行为打上训练标签,剩余30%用户的最后一次购买行为打上测试标签;
[0062] b3.训练过程,参数特征如下:
[0063]
[0064] b4.根据步骤b3训练得出的模型,对剩余30%的用户进行预测,具体评估标准采用mean F1score。
[0065] 上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。