累积型变量生成方法及装置与流程

文档序号:17990018发布日期:2019-06-22 00:42阅读:269来源:国知局
累积型变量生成方法及装置与流程

本申请涉及计算机领域,特别涉及人工智能技术中的深度学习技术。



背景技术:

人工智能目前在计算器领域内,得到了愈加广泛的发挥。机器学习是人工智能的一个分支,机器学习中最重要的起始步骤,是特征工程。

特征工程是指从原始数据转换为特征向量的过程,特征工程会直接影响机器学习的效果,并通常需要大量的时间。典型的特征工程包括数据清理、特征提取、特征选择等过程。并且,在各种模型构建过程中,特征工程往往决定着最后模型的效果。

特征主要包含人工特征和深度特征。人工特征主要是基于业务经验产生的变量。深度特征多指深度学习等算法发现的变量。

累积(velocity)是一种基于业务产生的,进行变量衍生的方法。此类变量已经在风控,推荐系统等业务系统上具有重要的价值。

大量实验证明,累积型变量过程,前置条件的生成,对生成的衍生变量有重要的影响。所以前置条件的发掘,成为搜索和衍生累积型变量的重要方向。

但是,目前仍然无法发掘高效的特征变量,以在累积中对数据集中的每一条记录是否参加累积进行高效的预期,导致无法进一步提升模型性能。



技术实现要素:

本申请的目的在于提供一种累积型变量生成方法及装置,能够发掘高效的特征变量,以在累积中对数据集中的每一条记录是否参加累积进行高效的预期,进一步提升模型性能。

本申请公开了一种累积型变量生成方法,包括:

获得原始累积型变量的原始数据集,并计算该原始累积型变量的原始数据集的全量数据对应的原始信息价值iv[ori];

循环地依次对该原始数据集中的每一条记录执行以下操作:在该原始数据集中去除第i条记录,形成新数据集,并计算该新数据集中的第i条记录对应的信息价值iv[-i];

根据该新数据集中的第i条记录对应的信息价值iv[-i]与该原始数据集的全量数据对应的原始信息价值iv[ori],确定该原始数据集中的第i条记录对应的信息价值残差标签c;

将每一个该信息价值残差标签c增加到该原始累积型变量的原始数据集中每一条相应的记录中,通过模型学习该信息价值残差标签c,并生成该信息价值残差标签c对应的前置条件树,基于该原始数据集的全量数据与该前置条件树,构成新的累积型变量。

在一优选例中,该根据新数据集中的第i条记录对应的信息价值iv[-i]与该原始数据集的全量数据对应的原始信息价值iv[ori],确定该原始数据集中的第i条记录对应的信息价值残差标签c的步骤中,还包括:

当iv[-i]>iv[ori]时,则确定该新数据集中的第i条记录对应的信息价值残差标签c的值为0,

当iv[-i]<iv[ori]时,则确定该新数据集中的第i条记录对应的信息价值残差标签c的值为1;其中,

该信息价值残差标签c的值为“1”,则表示该原始数据集中的该条记录参加累积,该信息价值残差标签c的值为“0”,则表示该原始数据集中的该条记录不参加累积。

在一优选例中,该原始数据集中包含交易事件、操作事件、浏览事件、登录事件中的一个或多个事件的事件明细数据。

在一优选例中,该事件明细数据是包含以下一种或多种信息的数据:时间、地点、事件主动方、事件被动方、事件发生环境、事件内容和设备。

在一优选例中,该事件明细数据是包含用于累积确定初始特征的多个参数的值的数据,其中,该参数包含以下一种或多种:累积主体、累积时间、累积指标、累积方式。

在一优选例中,该累积主体是设备或账户,该累积指标是消费金额和/或消费次数,该累积方式是求最大值、或求和、或求平均值。

在一优选例中,该根据新数据集中的第i条记录对应的信息价值iv[-i]与该原始数据集的全量数据对应的原始信息价值iv[ori],确定该原始数据集中的第i条记录对应的信息价值残差标签c的步骤中,还包括:

当iv[-i]=iv[ori]时,则确定该新数据集中的第i条记录对应的信息价值残差标签c的值为0。

本申请公开了一种累积型变量生成装置,包括:

原始信息价值模块,用于获得原始累积型变量的原始数据集,并计算该原始累积型变量的原始数据集的全量数据对应的原始信息价值iv[ori];

新数据信息价值模块,用于循环地依次对该原始数据集中的每一条记录执行以下操作:在该原始数据集中去除第i条记录,形成新数据集,并计算该新数据集中的第i条记录对应的信息价值iv[-i];

信息价值残差标签模块,用于根据该新数据集中的第i条记录对应的信息价值iv[-i]与该原始数据集的全量数据对应的原始信息价值iv[ori],确定该原始数据集中的第i条记录对应的信息价值残差标签c;

新累积型变量模块,用于将每一个该信息价值残差标签c增加到该原始累积型变量的原始数据集中每一条相应的记录中,通过模型学习该信息价值残差标签c,并生成该信息价值残差标签c对应的前置条件树,基于该原始数据集的全量数据与该前置条件树,构成新的累积型变量。

本申请公开了一种累积型变量生成设备,包括:

存储器,用于存储计算机可执行指令;以及,

处理器,用于在执行该计算机可执行指令时实现如权利要求1至7中任意一项该的方法中的步骤。

本申请公开了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现如权利要求1至7中任意一项该的方法中的步骤。

本申请实施方式与现有技术相比,循环地依次在原始数据集中去除第i条记录,形成新数据集,并计算新数据集中的第i条记录对应的信息价值iv[-i],并根据新数据集中的第i条记录对应的信息价值iv[-i]与原始数据集的全量数据对应的原始信息价值iv[ori],确定原始数据集中的第i条记录对应的信息价值残差标签c,其中,所述信息价值残差标签c用于标识原始数据集中的第i条记录是否参加累积,再将每一个信息价值残差标签c作为新的标签,增加到原始累积型变量的原始数据集中每一条相应的记录中,基于原始数据集的全量数据与所述每一个信息价值残差标签c,通过模型学习所述信息价值残差标签c,并生成所述信息价值残差标签c对应的前置条件树,并且,基于所述原始数据集的全量数据与所述信息价值残差标签c对应的前置条件树,构成新的累积型变量。由此,在数据集和标签确定的情况下,能够发现一个或者多个比较好的累积型变量。这个变量能够很好的识别用于标识该条记录是否参加累积,不需要任何的人工的业务经验。

进一步的,通过自动发现的变量,可以自动的构建模型,自动的解决业务问题。这种方式,具有高度的自动化,不需要人为的参与和专家经验,就可以解决分类和预测问题。比如识别一笔交易是不是本人操作,或者识别一个人是否会购买指定商品等等,具有广泛的适用性。

本申请的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本申请上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均因视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征a+b+c,在另一个例子中公开了特征a+b+d+e,而特征c和d是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征e技术上可以与特征c相组合,则,a+b+c+d的方案因技术不可行而应当不被视为已经记载,而a+b+c+e的方案应当视为已经被记载。

附图说明

图1是根据本申请第一实施方式的累积型变量生成方法的流程示意图;

图2是根据本申请第二实施方式的累积型变量生成装置的结构示意图。

具体实施方式

在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

部分概念的说明:

累积型变量:可称为velocity变量,在本申请中,它是一种基于主体,客体,时间窗口,函数进行变量衍生的方法。

信息价值iv:informationvalue,中文意思是信息价值,或者信息量。在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如,有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表。挑选入模变量过程是个比较复杂的过程,需要考虑的因素很多,比如:变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务上的可解释性(被挑战时可以解释的通)等等。但是,其中最主要和最直接的衡量标准是变量的预测能力。因此,需要一些具体的量化指标来衡量每自变量的预测能力,并根据这些量化指标的大小,来确定哪些变量进入模型。iv就是这样一种指标,它可以用来衡量自变量的预测能力。从直观逻辑上大体可以这样理解“用iv去衡量变量预测能力”这件事情:我们假设在一个分类问题中,目标变量的类别有两类:y1,y2。对于一个待预测的个体a,要判断a属于y1还是y2,我们是需要一定的信息的,假设这个信息总量是i,而这些所需要的信息,就蕴含在所有的自信息价值残差标签c1,c2,c3,……,cn中,那么,对于其中的一个信息价值残差标签ci来说,其蕴含的信息越多,那么它对于判断a属于y1还是y2的贡献就越大,ci的信息价值就越大,ci的iv就越大,它就越应该进入到入模变量列表中。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。

首先对本实施例的应用场景举例说明如下,但本申请的应用场景并不限于此:

在本实施例的应用场景中,以网络购物平台为例,可以预先从网络购物平台的服务器中获取原始数据,且原始数据可以是包含交易事件、操作事件、浏览事件和登录事件等事件中的一个或多个事件的事件明细数据。

其中,事件明细数据,也就是每一条记录,可以是指示时间、地点、事件主动方、事件被动方、事件发生环境、事件内容和设备等信息的数据,且事件明细数据中包含用于累积确定初始特征的多个参数的值的数据。

需指出,累积型变量包含多个参数,且这多个参数中的至少一个参数可基于一定的累积时间和累积方式累积得到。

举例来说,上述参数可以包括:累积主体、累积时间、累积指标和累积方式,当然还可以包含其他参数。

这多个参数任意组合或按一定的顺序组合后,即可得到一个累积型变量。

举例来说,如果将累积主体、累积时间、累积指标和累积方式这四个参数分别用a、b、c、d表示,将其他参数用e表示,可以得到累积型变量v=velocity(a,b,c,d,e)这样一个累积型变量,或者得到累积型变量v=velocity(a,c,d,b,e)这样一个累积型变量,等等。

其中,具体的,累积主体可以是设备或账户等;累积时间可以是过去2小时或过去7天等;累积指标可以是消费金额或消费次数等;累积方式可以是求最大值、求和或求平均值等;其他参数可以为是否由手机操作或是否为实物交易等等。

具体的,假如a为“账户a”,b为“过去7天”,c为“消费金额”,d为“求和”,e为“实物交易场景”。累积型变量v=velocity(a,b,c,d,e)表示的含义可以为:“账户a”上“过去7天”的“消费金额”的“总和”仅限“实物交易场景”。累积型变量为v=velocity(b,a,c,d,e)表示的含义可以为:“过去7天”“账户a”上的“消费金额”的“总和”仅限“实物交易场景”。

以上是基本的累积逻辑,进一步的,由上累积型变量可以衍生一个新的指标“前置条件”,这个前置条件可以用于标识:当前记录是否需要参加累积。

具体的,累积型变量一般是基于事件维度,比如交易事件,在交易事件中会有(设备信息,用户信息,交易金额等信息)。第一个累积型变量对所有的交易事件进行累积,一条条累积起来。

然而在有些情况下,不需要累积全部交易事情。例如,只想累积来自淘宝的交易,或者来自天猫的交易,这就变成了一个条件筛选。又例如,避免一些不良数据加入累积,这也是一种条件筛选。

基于这个筛选,累积起来的velocity也是不一样的。其性能也是差别很大的。

具体的,如图1所示,本实施例的累积型变量生成方法包含以下步骤:

步骤110:获得原始累积型变量的原始数据集,并计算原始累积型变量的原始数据集的全量数据对应的原始信息价值iv[ori]。

需指出,在本实施例中,预先定义累积型变量的参数包含:主体、客体、时间窗口、累计函数。

需指出,原始累积型变量的原始数据集的全量数据的含义是指所有交易事件,即所有的记录。在本实施例中,原始数据集中包含有10条记录。

具体的,在本步骤中,先从服务器中获得原始累积型变量的原始数据集,再计算原始累积型变量的原始数据集中全量数据,即所有记录,所对应的原始信息价值iv[ori]。

需指出,在本申请的其它实施方式中,原始数据集可以具有不同数量的记录,例如,10条记录,50条记录,或n条记录。

步骤120:循环地依次对原始数据集中的每一条记录执行以下操作:在原始数据集中去除第i条记录,形成新数据集,并计算新数据集中的第i条记录对应的信息价值iv[-i]。

具体的,依次在原数据集中去掉第i条记录(i为0至n之间的整数),形成新数据集,即:

foriindata:

new_data=data-record(i)

并计算得到的新数据集中第i条记录对应的信息价值iv[-i]。

需指出,本步骤是循环地依次执行的。即,依次删除原始数据集中的一条记录(从第1条到第i条),执行到第i条记录之后,再从第1条记录开始,循环执行。

步骤130:根据新数据集中的第i条记录对应的信息价值iv[-i]与原始数据集的全量数据对应的原始信息价值iv[ori],确定原始数据集中的第i条记录对应的信息价值残差标签c,其中,所述信息价值残差标签c用于标识原始数据集中的第i条记录是否参加累积。

需指出,上述信息价值残差标签c也可以称为:标签c。

具体的,在本步骤中,比较新数据集中的第i条记录对应的信息价值iv[-i]与原始数据集的全量数据对应的原始信息价值iv[ori],

当iv[-i]>iv[ori]时,确定新数据集中的这条记录对应的信息价值残差标签c的值为0,

当iv[-i]<iv[ori]时,确定新数据集中的这条记录对应的信息价值残差标签c的值为1。

进一步的,当iv[-i]=iv[ori]时,确定新数据集中的这条记录对应的信息价值残差标签c的值为0。

其中,信息价值残差标签c的值为“1”,表示原始数据集中的该条记录参与逻辑(即,参加累积),信息价值残差标签c的值为“0”表示原始数据集中的该条记录不参与逻辑(即,不参加累积)。

这样做的好处在于,通过比较新数据集中的第i条记录对应的信息价值iv[-i]与原始数据集的全量数据对应的原始信息价值iv[ori]的大小,如果新数据集中的第i条记录对应的信息价值iv[-i]的值小于原始数据集的全量数据对应的原始信息价值iv[ori]的值,说明第i条记录对于lableb具有更好的区分能力。具体的,新数据集是去掉了第i条记录的数据集,因此,如果去掉第i条记录后,信息价值iv[-i]的值大于原始信息价值iv[ori],那说明去掉第i条记录(即,不参加累积)是对的,因为去掉第i条记录使新数据集的iv[-i]的值提升了。相反的,如果信息价值iv[-i]的值小于原始信息价值iv[ori],证明去掉第i条记录会降低新数据集的识别效果,因此,第i条记录应该参加累积。由此,自动地优先利用iv值更好的记录,使累积型变量的生成更加高效。

完成上面的循环,可以得到一列新的信息价值残差标签c,每一个信息价值残差标签c[i]与原始数据集的中的第i条记录对应,且每一个信息价值残差标签c[i]都有一个值:1或者是0,如上所述,用于标识原始数据集中的第i条记录是否参加累积。

步骤140:将每一个信息价值残差标签c作为新的标签,增加到原始累积型变量的原始数据集中每一条相应的记录中,基于原始数据集的全量数据与所述每一个信息价值残差标签c,通过模型学习所述信息价值残差标签c,并生成所述信息价值残差标签c对应的前置条件树。基于所述原始数据集的全量数据与所述信息价值残差标签c对应的前置条件树,构成新的累积型变量。

具体的,在本步骤中,将每一个信息价值残差标签c[i]增加到原始累积型变量的原始数据集中第i条记录中,然后用决策树算法或其它算法进行训练。这样就可以得到一个前置条件树模型,这个树模型用于标识:当前记录是否需要参加累积。

这样做的好处是,能够得到一个模型,这个模型的优点是能够很好的预期对应的事件是否需要参与到累积中。

具体的,采用前置条件树e对记录进行筛选后,再计算累积型变量velocity(a,b,c,d,e),会比不使用前置条件树,计算出来的velocity(a,b,c,d),对labelb具有更好的区分力,也就是说信息价值会更高。

换句话说,这样的一个模型或者一个决策树,就是一个前置条件模型或者一个前置条件树。

由此,构成新的累积型变量v=velocity(前置条件树,主体,客体,时间窗口,累积方式)。

通过上述步骤,能够自动发掘出一个更加有效的新的累积型变量。可以很好的区分原始的label变量。例如,能够更好地区分当前交易是否本人操作,或者更好的区分,当前用户会不会购买此商品,当前用户是否喜欢这首歌等需要进行1,0预测的业务场景。

本实施例具有以下优点:

可以有效的搜索全部前置条件空间。能够生成高效的velocity变量。

具体的,本实施例在数据集和标签确定的情况下,能够发现一个或者多个比较好的累积型变量。这个变量能够很好的识别标签(label),不需要任何的人工的业务经验。

进一步的,不需要人为的参与和专家经验,就可以解决分类和预测问题。比如识别一笔交易是不是本人操作,或者识别一个人是否会购买指定商品等等,具有广泛的适用性。因此,本申请能够发掘高效的特征变量,以在累积中对数据集中的每一条记录是否参加累积进行高效的预期,进一步提升模型性能。

本申请的第二实施方式涉及一种累积型变量生成装置,其结构如图2所示,该累积型变量生成装置包括:

原始信息价值模块,用于获得原始累积型变量的原始数据集,并计算该原始累积型变量的原始数据集的全量数据对应的原始信息价值iv[ori];

新数据信息价值模块,用于循环地依次对该原始数据集中的每一条记录执行以下操作:在该原始数据集中去除第i条记录,形成新数据集,并计算该新数据集中的第i条记录对应的信息价值iv[-i];

信息价值残差标签模块,用于根据该新数据集中的第i条记录对应的信息价值iv[-i]与该原始数据集的全量数据对应的原始信息价值iv[ori],确定该原始数据集中的第i条记录对应的信息价值残差标签c;

新累积型变量模块,用于将每一个该信息价值残差标签c增加到该原始累积型变量的原始数据集中每一条相应的记录中,通过模型学习该信息价值残差标签c,并生成该信息价值残差标签c对应的前置条件树,基于该原始数据集的全量数据与该前置条件树,构成新的累积型变量。

第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。

需要说明的是,本领域技术人员应当理解,上述累积型变量生成装置的实施方式中所示的各模块的实现功能可参照前述累积型变量生成方法的相关描述而理解。上述累积型变量生成装置的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本申请实施例上述累积型变量生成装置如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,readonlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

相应地,本申请实施方式还提供一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本申请的各方法实施方式。

此外,本申请实施方式还提供一种累积型变量生成设备,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。其中,该处理器可以是中央处理单元(centralprocessingunit,简称“cpu”),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,简称“dsp”)、专用集成电路(applicationspecificintegratedcircuit,简称“asic”)等。前述的存储器可以是只读存储器(read-onlymemory,简称“rom”)、随机存取存储器(randomaccessmemory,简称“ram”)、快闪存储器(flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。

在本申请提及的所有文献都被认为是整体性地包括在本申请的公开内容中,以便在必要时可以作为修改的依据。此外应理解,在阅读了本申请的上述公开内容之后,本领域技术人员可以对本申请作各种改动或修改,这些等价形式同样落于本申请所要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1