本发明涉及信息处理技术领域,尤其涉及一种状态预测方法和装置。
背景技术:
随着互联网的发展,很多互联网公司都有大量的付费客户,且客户群体是逐年快递增长的,对客户进行维护的售后服务就尤为重要,而目前的售后服务有两个特点,一是客户问题繁多,复杂,凌乱,客服离职率高,面对这种现状,大部分客服不知道该做什么,怎么做;二是客服资源有限,单个客服维护账户数就有数百,客服的工作强度大,工作难度大,且服务质量难以保证。
面对这种情况,筛选出存在问题、需要维护的账户,并下发给客户对应的工作任务,显得尤为重要,但是,相关技术中,采用的是专门的团队每天对客户全体进行手工筛选,或者是制定相关的客户筛选规则,筛选出需要维护的客户,并通过下发系统下发给对应的客服,但是这种方式需要依赖有经验的特定人群,且不一定能准确代表业务需求,或出现漏筛选、错筛选的可能,导致识别效率较低的问题。
技术实现要素:
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种状态预测方法,通过对目标用户采样生成的正样本、验证样本和负样本,对决策树模型进行训练,根据训练完成的决策树模型对采样时刻之后的用户流失状态预测,解决了现有技术中,通过人工经验或者制定规则进行用户流失状态预测,导致识别效率较低,且不易复用的技术问题。
本发明的第二个目的在于提出一种状态预测装置。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种状态预测方法,包括:
对目标用户进行采样;
从采样得到的目标用户中,识别出在采样时刻已流失用户和未流失用户;其中,已流失用户为采样时刻之前的目标时长内未执行所述目标行为的用户,未流失用户为采样时刻之前的目标时长内执行过所述目标行为的用户;
根据在采样时刻已流失用户的账户信息,生成负样本,并根据在采样时刻未流失用户的账户信息,生成正样本和验证样本;
根据所述负样本和所述正样本,对用于预测在所述采样时刻之后用户流失状态的决策树模型进行训练;
将所述验证样本输入经过训练的决策树模型,以得到预测流失状态;
若根据所述验证样本的预测流失状态与实际流失状态计算得到的准召率不小于阈值,确定所述决策树模型训练完成;其中,实际流失状态,是根据所述采样时刻之后的所述目标时长内用户是否执行过所述目标行为确定的;
根据训练完成的所述决策树模型,进行用户流失状态的预测。
本发明实施例的状态预测方法中,对目标用户进行采样,根据识别出的采样时刻已流失和未流失用户的账户信息,分别生成负样本、正样本和验证样本,根据正、负样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练,将验证样本输入训练后的决策树模型,以得到预测流失状态,若预测流失状态与实际流失状态计算得到的准召率不小于阈值,确定决策树模型训练完成,并进行用户流失状态的预测。通过采样生成的样本,对决策树模型进行训练,根据训练完成的决策树模型对用户流失状态预测,解决了现有技术中,通过人工经验或者制定规则进行用户流失状态预测,导致识别效率较低,且不易复用的技术问题。
为达上述目的,本发明第二方面实施例提出了一种状态预测装置,包括:
采样模块,用于对目标用户进行采样;
样本生成模块,用于从采样得到的目标用户中,识别出在采样时刻已流失用户和未流失用户;其中,已流失用户为采样时刻之前的目标时长内未执行所述目标行为的用户,未流失用户为采样时刻之前的目标时长内执行过所述目标行为的用户;根据在采样时刻已流失用户的账户信息,生成负样本,并根据在采样时刻未流失用户的账户信息,生成正样本和验证样本;
训练模块,用于根据所述负样本和所述正样本,对用于预测在所述采样时刻之后用户流失状态的决策树模型进行训练;
校验模块,用于将所述验证样本输入经过训练的决策树模型,以得到预测流失状态;若所述验证样本的预测流失状态与实际流失状态相同,确定所述决策树模型训练完成;其中,实际流失状态,是根据所述采样时刻之后的所述目标时长内用户是否执行过所述目标行为确定的;
预测模块,用于根据训练完成的所述决策树模型,进行用户流失状态的预测。
本发明实施例的状态预测装置中,采样模块用于对目标用户进行采样,样本生成模块用于根据识别出的采样时刻已流失和未流失用户的账户信息,分别生成负样本、正样本和验证样本,训练模块用于根据正、负样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练,校验模块用于将验证样本输入经过训练的决策树模型,以得到预测流失状态,若预测流失状态与实际流失状态计算得到的准召率不小于阈值,确定决策树模型训练完成,预测模块用于根据训练完成的决策树模型进行用户流失状态的预测。通过采样生成的样本,对决策树模型进行训练,根据训练完成的决策树模型对用户流失状态预测,解决了现有技术中,通过人工经验或者制定规则进行用户流失状态预测,导致识别效率较低,且不易复用的技术问题。
为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如第一方面所述的状态预测方法。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,当该程序被处理器执行时,实现如第一方面所述的状态预测方法。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如第一方面所述的状态预测方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种状态预测方法的流程示意图;
图2为本发明实施例所提供的另一种状态预测方法的流程示意图;
图3为本发明实施例所提供的一种状态预测装置的结构示意图;
图4为本发明实施例所提供的另一种状态预测装置的结构示意图;以及
图5示出了适于用来实现本申请实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的状态预测方法和装置。
对于超过百万的用户账户,客服维护账户的工作强度较大,账户维护目前主要有以下两种方案:
方案一,手工筛选,由专门的数据分析团队,根据业务场景的需要,下载用户账户指标数据,进行特定数据分析,筛选出目标账户集,给对应的客服下发任务。这种方法有两个缺点,一是只能人工筛选账户,靠的数据分析团队经验,以及对业务的熟悉把控,过程复杂,很难复用,且容易出现疏忽导致的错误数据;二是任务的下发需要每天执行,账户的筛选也需要每天重复执行,耗费大量人力。
方案二,规则制定:将账户信息抽象成各种账户指标,提供灵活的规则设置界面,由经验丰富的客服,根据业务场景的需要,设置对应的任务下发规则,根据规则设置的指标条件,筛选出满足规则条件的账户集合,给对应的客服账户下发任务。这种方法有两个缺点,一是规则的制定全凭经验,包含人为不确定因素;二是规则设置局限性很大,不够灵活,很难覆盖各种指标特征,以及指标之间的关系,不能精确代表业务含义,所以筛选出的账户不一定全部准确。
为解决上述问题,本发明提出了一种状态预测方法,从目标客户中采样得到训练样本,根据训练样本对决策树模型进行训练,通过训练完成的决策树模型对用户账户进行预测,预测客户的流失状态,实现了根据样本中用户特征,生成预测模型,自动预测用户的流失状态,提高了识别的效率。
图1为本发明实施例所提供的一种状态预测方法的流程示意图。
如图1所示,该方法包括:
步骤101,对目标用户进行采样。
可选地,在对目标用户进行采样之前,需要先从全部用户中,识别出活跃用户,而活跃用户为执行过目标行为的用户,目标行为包括购买行为、浏览行为和续费行为中的至少一个。进而,将识别出的活跃用户设定为目标用户,通过预先设定的采样原则对目标用户进行采样,例如,采用随机抽取的方式,从确定的活跃用户中选择一定数量的目标用户。
步骤102,从采样得到的目标用户中,识别出在采样时刻已流失用户和未流失用户。
具体地,采样得到的目标用户中,包含已流失用户和未流失用户,根据目标用户的账户信息中目标行为的执行时刻,和设定的目标时长,识别出在采样时刻已流失用户和未流失用户,其中,已流失用户为采样时刻之前的目标时长内未执行目标行为的用户,未流失用户为采样时刻之前的目标时长内执行过目标行为的用户。
步骤103,根据在采样时刻已流失用户的账户信息,生成负样本,并根据在采样时刻未流失用户的账户信息,生成正样本和验证样本。
具体地,根据采样时刻已流失用户的账户信息,生成负样本,并根据采样时刻未流失用户的账户信息,生成正样本和验证样本,其中,正样本和负样本用于对模型进行训练,验证样本用于对完成训练的模型进行效果评估。
步骤104,根据负样本和正样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练。
具体地,对负样本和正样本进行特征提取,得到属性特征和行为特征,其中,属性特征包括:账户有效状态、账户开户地和账户运营主体中的至少一个;行为特征包括:总消费额、总点击量、账户余额和最近消费距离采样时刻的天数。将负样本的特征和正样本的特征作为决策树模型的输入,并将流失状态或未流失状态作为决策树的分类输出结果,并采用机器学习中基于决策树的极端梯度上升(extremegradientboosting,xgboost)算法对决策树模型执行训练过程。
其中,xgboost模型,即提升树模型,提升树是迭代多棵回归树来共同决策,当采用平方误差损失函数时,每一棵回归树学习的是之前所有树的结论和残差,拟合得到一个当前的残差回归树,残差的意义如公式:残差=真实值-预测值,即是整个迭代过程生成的回归树的累加。传统梯度提升决策树(gradientboostingdecisiontree,gbdt)以cart作为基分类器,xgboost还支持线性分类器,xgboost相当于带l1和l2正则化项的逻辑斯蒂回归(分类问题)或者线性回归(回归问题),同时,xgboost还对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数,在代价函数里加入了正则项,用于控制模型的复杂度。
具体地,xgboost模型每次训练时增加一棵新树,每棵树的输出值采用加和策略,拟合已经学习好的。决策树的训练过程即找到最优的决策树,而找到最优的决策树,是通过建立目标,即目标函数来实现找到最优的决策树,目标函数的算法原理如下:
模型根据给定的输入xi,即本实施例中正、负样本的特征,去预测yi,即本实施例中的已流失状态或未流失状态,线性模型的预测函数是
单棵树在现实中不够强大,需要能够把多棵树预测值相加作为最后预测结果:
在每一步中,需要确定哪一棵树需要加上一个优化目标,进而得到目标函数为:
其中,xgboost的数据格式采用libsvm数据格式,如下:
[label][index1]:[value1][index2]:[value2]…
[label][index1]:[value1][index2]:[value2]…
xgboost模型的输入只支持数值型类型,即其中的value只能是数值。为了减少模型训练和模型预测时内存的占用,提高做矩阵内积时的运算速度,最终输入数据格式采用如下格式表示,例如:
1101:1.2102:0.03
21:2.1,10001:30010002:400
···
其中,每行表示一个样本,第一列的数字表示类别标签,表示样本所属于的类别,‘101’和‘102’表示特征索引,‘1.2’和‘0.03’是特征所对应的值。在二分类中‘1’表示正类,‘0’表示负类。
进一步,为了提升xgboost模型的表现,需要对xgboost模型的参数调优,常用的一般方法如下:
1)选择较高的学习速率,一般情况下,学习速率的值为0.1,但是,对于不同的问题,理想的学习速率有时候会在0.05到0.3之间波动,选择对应于此学习速率的理想决策树数量,xgboost有一个很有用的函数“cv”,这个函数可以在每一次迭代中使用交叉验证,并返回理想的决策树数量。
2)对于给定的学习速率和决策树数量,进行决策树特定参数调优,关键参数[值]如下:
迭代模型booster[gbtree]:指选择每次迭代的模型,gbtree是基于树的模型。
正负样本均衡性参数scale_pos_weight[1]:流失客户与非流失客户样本十分不平衡,把这个参数设定为一个正值,可以使算法更快收敛。
迭代权重eta[0.1]:通过减少每一步的权重,可以提高模型的鲁棒性,典型值为0.01-0.2。
最小优化损失函数objective[binary:logistic]:定义需要被最小化的损失函数,本发明最终预测结果为客户流失概率,所以选择binary:logistic二分类的逻辑回归,返回预测的概率(不是类别)。
判定有效数据的度量参数eval_metric[rmse,error,auc]:对有效数据的度量方法,rmse均方根误差,mae平均绝对误差,auc曲线下面积。
树的最大深度max_depth[5]:树的最大深度,用来避免模型过拟合问题,值越大,模型会学到更具体更局部的样本。
迭代次数num-boost_round:增加迭代次数,是为解决过拟合严重问题。
3)xgboost的正则化参数的调优(lambda,alpha),这些参数可以降低模型的复杂度,从而提高模型的表现。
4)降低学习速率,确定理想参数。
通过调优该模型的参数,可以提高模型预测的准确度和效率。
步骤105,将验证样本输入经过训练的决策树模型,以得到预测流失状态。
具体地,将预先确定的验证样本输入经过训练的决策树模型,得到预测的流失状态。
步骤106,若根据验证样本的预测流失状态与实际流失状态计算得到的准召率不小于阈值,确定决策树模型训练完成。
具体地,将根据步骤105中得到的预测流失状态,与实际流失状态计算得到准召率,将该准召率和预设阈值比对,若准召率不小于阈值,则确定决策时模型训练完成。其中,实际流失状态,是根据采样时刻之后的目标时长内用户是否执行过目标行为确定的。
步骤107,根据训练完成的决策树模型,进行用户流失状态的预测。
具体地,将目标用户输入训练完成的决策树模型,对目标用户的用户流失状态进行预测,若目标用户预测流失状态为将流失,生成用于指示对目标用户进行维护的任务,任务下发后,获取任务执行过程中确定的目标用户实际流失状态,根据目标用户实际流失状态和目标用户的预测流失状态,确定决策树模型的准确性。
本发明实施例的状态预测方法中,对目标用户进行采样,根据识别出的采样时刻已流失和未流失用户的账户信息,分别生成负样本、正样本和验证样本,根据正、负样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练,将验证样本输入训练后的决策树模型,以得到预测流失状态,若预测流失状态与实际流失状态计算得到的准召率不小于阈值,确定决策树模型训练完成,并进行用户流失状态的预测。通过采样生成的样本,对决策树模型进行训练,根据训练完成的决策树模型对用户流失状态预测,解决了现有技术中,通过人工经验或者制定规则进行用户流失状态预测,导致耗费较多人力,同时预测结果不准确,且不能复用的技术问题。
基于上述实施例,本发明还提出了一种状态预测方法的可能的实现方式,进一步清楚解释了,如何对决策树模型进行验证和优化的过程,图2为本发明实施例所提供的另一种状态预测方法的流程示意图,如图2所示,该方法包括:
步骤201,对全部用户中识别为活跃用户的目标用户进行采样。
具体地,从全部用户中识别出活跃用户,对活跃用户的目标用户进行采样,例如,采样时间为2017年6月30号,从目标用户中随机抽取200名用户,作为采样得到的目标用户。
步骤202,从采样得到的目标用户中,识别出在采样时刻已流失用户和未流失用户。
具体地,在目标用户中识别出已流失用户和未流失用户,是根据在采样时刻之前的目标时长内是否执行过目标行为来判断的,目标行为包括购买行为、浏览行为和续费行为中的至少一个,例如,采样时刻为2017年6月30日,选取的目标时长为45天,则已流失用户为在采样时刻2017年6月30日以前的45天内未执行过目标行为的用户,而未流失用户为在采样时刻2017年6月30日以前的45天内执行过目标行为的用户。
其中,目标时长可以为30天,45天或者为75天,当目标时长设定为30天时,若以30天内未执行过目标行为则直接判定为已流失客户,容易导致误判,因30天的时间间隔短,30天内无消费未必会流失;而目标时长设定为75天,虽然能明显发现长时间未执行过目标行为的用户,但75天的时间间隔又太长,不利于尽快发现问题;而以45天为目标时长,是较优的,即可以尽快发现问题,又会减少误判的问题,故本实施例中以目标时长为45天为适合的目标时长。本领域技术人员也可以根据目标用户的实际情况,另行设定目标时长,本实施例中不做限定。
步骤203,根据在采样时刻已流失用户的账户信息,生成负样本,并根据在采样时刻未流失用户的账户信息,生成正样本和验证样本。
步骤204,根据负样本和正样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练。
步骤203和步骤204,可参照上一实施例中的步骤103和步骤104,此处不再赘述。
步骤205,将验证样本输入经过训练的决策树模型,以得到预测流失状态。
例如,将采样时刻2017年6月30日获取到的判定为未流失状态的验证样本,验证样本个数为40个,在预测日期2017年10月30日,输入经过训练的决策树模型后,得到预测的已流失用户为10个,未流失用户为30个。
步骤206,判断将预测流失状态与实际流失状态计算得到的准召率是否大于阈值,若是,则执行步骤207,若否,执行步骤208。
其中,准召率是指准确率和召回率,用来评价结果的质量,本实施例中准确率是指预测为流失的用户中有多少是准确的,召回率是指已流失的用户有多少被预测出来,准确率和召回率取值在0至1之间,数值越接近1,准确率和召回率就越高,作为一种可能的实现方式,本实施例中的准召率可为根据准确率和召回率计算得到的调和平均值f值,f=2*准确率*召回率/(准确率+召回率),通过f值和预设阈值比对判定模型训练的效果。具体地,将验证样本对应的目标用户经过决策树模型后,获得的预测结果,分别和实际情况中真实的流失状态一一比对,分别确定每一个验证样本的预测结果是否准确。例如,验证样本为40个,输入经过训练的决策树模型后,得到预测的已流失用户为15个,未流失用户为25个,而实际情况是,验证样本对应的40个用户,实际有10个用户已流失,30个用户未流失,将预测结果和实际结果比对,确定每一个预测流失状态是否正确,从而对验证样本分别计算准确率和召回率,进而根据准确率和召回率计算得到f值,将f值与预设阈值比较,若f值大于预设阈值,则说明训练效果较好,确定决策树模型训练完成,若f值不大于预设阈值,则需要进一步判断,是重新调整目标时长,进行模型重新训练,还是仅调整决策树模型的参数,进行模型的重新训练。
步骤207,确定决策树模型训练完成,并根据该决策树模型进行用户流失状态的预测。
具体地,将目标用户输入训练完成的决策树模型,对目标用户的用户流失状态进行预测,若目标用户预测流失状态为将流失,生成用于指示对目标用户进行维护的任务,作为一种可能的实现方式,客服人员根据收到的维护任务,分许用户可能流失的原因,采用优惠券等方式,刺激客户续费、消费,达到防止客户流失的目的,任务下发后,获取任务执行过程中确定的目标用户实际流失状态,根据目标用户实际流失状态和目标用户的预测流失状态,确定决策树模型的准确性。
可选地,根据确定的决策树进行预测,对于预测的结果还可从客户方面、客服方面和运营单位3个方面来评估预测效果,客户方面评估的指标为:客户健康度的变化,账户指标的变化和客户反馈的变化;客服方面评估的指标为:单位时间流失率的同比增幅;运营单位的评估指标为:单位时间流失率的同比增幅和对照组流失率。通过上述三方面的评估结果,不断进行模型的训练与优化,提高模型预测的准确率,提高任务下发的准确性。
步骤208,调整目标时长的取值,并返回步骤202。
具体地,若判断得到预测流失状态与实际流失状态计算得到的准召率f值小于阈值,则模型训练的效果不符合要求,需要调整目标时长的取值,返回步骤202,重新识别采样时刻的已流失用户和未流失用户,根据重新识别的已流失用户的账户信息,重新生成负样本,并根据重新识别的未流失用户的账户信息,重新生成正样本和验证样本,并根据重新生成的负样本和重新生成的正样本,对决策树模型进行重新训练,实现了决策树模型的优化。
需要说明的是,作为另一种可能的实现方式,还可以在步骤208之后调整决策树模型的参数,或者,在步骤206确定准召率不大于阈值时执行调整决策树模型的参数,并返回步骤204。
具体地,若验证样本的预测流失状态与实际流失状态相同,调整决策树模型的模型参数,其中,若决策树模型为基于梯度上升的xgboost决策树,模型参数包括最小优化损失函数、正负样本均衡性参数、迭代权重、迭代次数、树的最大深度和用于判定有效数据的度量参数中的至少一个,并返回步骤204,根据确定的正样本和负样本,对参数调整后的决策树模型进行重新训练,实现了决策树模型的优化。
需要说明的是,对于模型参数的解释和定义,可参照上一实施例中步骤104中的解释,此处不再赘述。
本发明实施例的状态预测方法中,对目标用户进行采样,根据识别出的采样时刻已流失和未流失用户的账户信息,分别生成负样本、正样本和验证样本,根据正、负样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练,将验证样本输入训练后的决策树模型,以得到预测流失状态,若预测流失状态与实际流失状态计算得到的准召率不小于阈值,确定决策树模型训练完成,并进行用户流失状态的预测。通过采样生成的样本,对决策树模型进行训练,根据训练完成的决策树模型对用户流失状态预测,解决了现有技术中,通过人工经验或者制定规则进行用户流失状态预测,导致耗费较多人力,同时预测结果不准确,且不能复用的技术问题。
为了实现上述实施例,本发明还提出一种状态预测装置。
图3为本发明实施例所提供的一种状态预测装置的结构示意图。
如图3所示,该装置包括:采样模块31、样本生成模块32、训练模块33、校验模块34和预测模块35。
采样模块31,用于对目标用户进行采样。
样本生成模块32,用于从采样得到的目标用户中,识别出在采样时刻已流失用户和未流失用户,其中,已流失用户为采样时刻之前的目标时长内未执行目标行为的用户,未流失用户为采样时刻之前的目标时长内执行过目标行为的用户。根据在采样时刻已流失用户的账户信息,生成负样本,并根据在采样时刻未流失用户的账户信息,生成正样本和验证样本。
训练模块33,用于根据负样本和正样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练。
校验模块34,用于将验证样本输入经过训练的决策树模型,以得到预测流失状态,若验证样本的预测流失状态与实际流失状态相同,确定决策树模型训练完成,其中,实际流失状态,是根据采样时刻之后的目标时长内用户是否执行过目标行为确定的。
预测模块35,用于根据训练完成的决策树模型,进行用户流失状态的预测。
需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
本发明实施例的状态预测装置中,采样模块用于对目标用户进行采样,样本生成模块用于根据识别出的采样时刻已流失和未流失用户的账户信息,分别生成负样本、正样本和验证样本,训练模块用于根据正、负样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练,校验模块用于将验证样本输入经过训练的决策树模型,以得到预测流失状态,若预测流失状态与实际流失状态计算得到的准召率不小于阈值,确定决策树模型训练完成,预测模块用于根据训练完成的决策树模型进行用户流失状态的预测。通过采样生成的样本,对决策树模型进行训练,根据训练完成的决策树模型对用户流失状态预测,解决了现有技术中,通过人工经验或者制定规则进行用户流失状态预测,导致耗费较多人力,同时预测结果不准确,且不能复用的技术问题。
基于上述实施例,本发明实施例还提供了一种状态预测装置的可能的实现方式,图4为本发明实施例所提供的另一种状态预测装置的结构示意图,在上一实施例的基础上,该装置还包括:第一调整模块36、第二调整模块37、用户识别模块38、生成模块39、获取模块40和确定模块41。
第一调整模块36,用于若根据验证样本的预测流失状态与实际流失状态计算得到的准召率小于阈值,调整目标时长的取值。
作为一种可能的实现方式,样本生成模块32,还可以用于根据调整后的目标时长,重新识别采样时刻的已流失用户和未流失用户,根据重新识别的已流失用户的账户信息,重新生成负样本,并根据重新识别的未流失用户的账户信息,重新生成正样本和验证样本。
第二调整模块37,用于若所述验证样本的预测流失状态与实际流失状态相同,调整决策树模型的模型参数,其中,若决策树模型为基于梯度上升的xgboost的决策树,模型参数包括最小优化损失函数、正负样本均衡性参数、迭代权重、迭代次数、数的最大深度和用于判定有效数据的度量参数中的至少一个。
作为一种可能的实现方式,训练模块33,还可以用于根据重新生成的负样本和重新生成的正样本,对决策树模型进行重新训练。
用户识别模块38,从全部用户中,识别出活跃用户,其中,活跃用户为执行过目标行为的用户,目标行为包括购买行为、浏览行为和续费行为中的至少一个。
生成模块39,用于若目标用户预测流失状态为将流失,生成用于指示对目标用户进行维护的任务。
获取模块40,用于任务下发后,获取任务执行过程中确定的目标用户实际流失状态。
确定模块41,用于根据目标用户实际流失状态和目标用户的预测流失状态,确定决策树模型的准确性。
作为一种可能的实现方式,训练模块33,还可以包括:提取单元331和训练单元332。
提取单元331,用于对负样本和正样本进行特征提取。
训练单元332,用于将负样本的特征和正样本的特征作为决策树模型的输入,并将流失状态或未流失状态作为决策树的分类输出结果,采用xgboost算法,对决策树模型执行训练过程。
其中,提取单元331,还可以具体用于:对负样本和正样本均进行特征提取,得到属性特征和行为特征,其中,属性特征包括:账户有效状态、账户开户地和账户运营主体中的至少一个。行为特征包括:总消费额、总点击量、账户余额、最近消费距离采样时刻的天数。
需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
本发明实施例的状态预测装置中,采样模块用于对目标用户进行采样,样本生成模块用于根据识别出的采样时刻已流失和未流失用户的账户信息,分别生成负样本、正样本和验证样本,训练模块用于根据正、负样本,对用于预测在采样时刻之后用户流失状态的决策树模型进行训练,校验模块用于将验证样本输入经过训练的决策树模型,以得到预测流失状态,若预测流失状态与实际流失状态计算得到的准召率不小于阈值,确定决策树模型训练完成,预测模块用于根据训练完成的决策树模型进行用户流失状态的预测。通过采样生成的样本,对决策树模型进行训练,根据训练完成的决策树模型对用户流失状态预测,解决了现有技术中,通过人工经验或者制定规则进行用户流失状态预测,导致耗费较多人力,同时预测结果不准确,且不能复用的技术问题。
为了实现上述实施例,本发明还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前述方法实施例所述的状态预测方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当程序被处理器执行时,实现如前述方法实施例所述的状态预测方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,实现如前述方法实施例所述的状态预测方法。
图5示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图5显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture;以下简称:isa)总线,微通道体系结构(microchannelarchitecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation;以下简称:vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection;以下简称:pci)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory;以下简称:ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compactdiscreadonlymemory;以下简称:cd-rom)、数字多功能只读光盘(digitalvideodiscreadonlymemory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(localareanetwork;以下简称:lan),广域网(wideareanetwork;以下简称:wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。