数据处理方法、装置、设备及存储介质与流程

文档序号:26141689发布日期:2021-08-03 14:26阅读:107来源:国知局
数据处理方法、装置、设备及存储介质与流程

本发明属于互联网行业数据挖掘及算法的技术领域,尤其涉及一种用于用户模型数据加载的数据处理方法、装置、设备及存储介质。



背景技术:

当前人工智能技术发展十分迅速,作为人工智能核心技术的深度学习,在越来越多的领域如互联网、消费信贷等领域的应用已经遥遥领先于传统方法。对深度学习模型的训练需要庞大的计算资源和计算数据,也就是需要大规模数据集。

在数据挖掘建模方面,所用的特征中有一类和时间相关的用户行为特征,用以描述该特征随时间变化的趋势,如过去15天、30天、60天用户在app消费的金额这种描述用户消费能力的特征。这类用户特征的数量与所关注的时间跨度数量有关。

当时间跨度较大时,不能更详细地描述时间跨度内用户的行为趋势。如过去15天用户消费金额为100元,但是无法获取“用户是在哪几天各消费多少元”这个信息;为描述用户行为特征趋势,需关注大量时间跨度该特征的取值。如此,在加载模型训练数据时,训练数据占用计算机内存过大,加载时间过长,拖慢了模型的训练速度。

另外,在加载模型训练数据时,通常通过实时加载来降低内存的消耗,但是每次加载只能加载数量很少的数据进行训练,而且实时数据加载会导致cpu和gpu频繁交互,gpu与cpu的频繁交互会降低gpu的训练工作效率,进一步拖慢模型的训练速度。



技术实现要素:

本发明的目的是提供一种数据处理方法、装置、设备及存储介质,在保证模型预测精度没有损害的前提下大大降低训练数据所占的内存,缩短加载数据所消耗的时间。

为解决上述问题,本发明的技术方案为:

一种数据处理方法,用于用户行为预测模型数据的加载,该数据处理方法包括:

获取用户行为的历史数据,提取基于时间序列的用户行为数据;

基于用户行为上次发生距离当前时间间隔越小,用户行为再次发生概率越大的原则,将用户行为数据乘上一个随时间衰减的函数c(t),然后再求和∑c(t)a,用于表征该用户在该行为上的汇总特征;其中,c(t)=e-kt,k是衰减系数;

汇集各用户的汇总特征构成数据集,当用户行为预测模型需要加载训练数据时,将所述数据集作为训练数据载入用户行为预测模型。

根据本发明一实施例,衰减系数k的确定包括以下步骤:

a1:令历史用户行为数据为ahistory,距离当前时间间隔为t,当前时间的用户行为值为atoday,衰减系数k的初始值为0.01;

a2:计算每个用户的汇总特征valida=∑e-ktahistory;

a3:将用户数据按valida的降序排列,并均匀分为n组;

a4:计算各组用户的valida均值和atoday均值,得到两均值序列;

a5:计算两均值序列之间的相关系数;

a6:若相关系数大于0.85,则将valida作为相应用户的汇总特征;若相关系数小于等于0.85,则将衰减系数k乘上1.5后得到新的衰减系数k,重复步骤a2~a6。

根据本发明一实施例,所述当用户行为预测模型需要加载训练数据时,将所述数据集作为训练数据载入用户行为预测模型进一步包括:

从数据集中读取预设数量的数据文件,得到数据文件列表;其中,所述预设数量为当前的内存资源所能加载的最大的文件数量;

将所述数据文件列表所对应的文件加载到内存;

调用预设的训练接口函数从所述内存中读取数据文件进行模型训练。

根据本发明一实施例,所述从数据集中读取预设数量的数据文件进一步包括:

通过随机抽样的方式,从数据集中读取预设数量的数据文件。

根据本发明一实施例,所述调用预设的训练接口函数从所述内存中读取数据文件进行模型训练进一步包括:

确定训练接口函数的运算参数,其中,所述运算参数包括每个数据文件参与训练的次数、每次迭代加载的数据文件数量以及迭代次数;

调用所述训练接口函数,使所述训练接口函数根据所述运算参数从所述内存中读取数据文件进行模型训练。

一种数据处理装置,用于用户行为预测模型数据的加载,该数据处理装置包括:

数据获取模块,用于获取用户行为的历史数据,提取基于时间序列的用户行为数据;

数据处理模块,用于基于用户行为上次发生距离当前时间间隔越小,用户行为再次发生概率越大的原则,将用户行为数据乘上一个随时间衰减的函数c(t),然后再求和∑c(t)a,用于表征该用户在该行为上的汇总特征;其中,c(t)=e-kt,k是衰减系数;

数据加载模块,用于汇集各用户的汇总特征构成数据集,当用户行为预测模型需要加载训练数据时,将所述数据集作为训练数据载入用户行为预测模型。

根据本发明一实施例,所述数据加载模块包括数据读取单元、数据加载单元及训练处理单元;

所述数据读取单元,用于从数据集中读取预设数量的数据文件,得到数据文件列表;其中,所述预设数量为当前的内存资源所能加载的最大的文件数量;

所述数据加载单元,用于将所述数据文件列表所对应的文件加载到内存;

所述训练处理单元,用于调用预设的训练接口函数从所述内存中读取数据文件进行模型训练。

一种数据处理设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行计算机可读指令时,实现本发明一实施例中的数据处理方法。

一种计算机可读介质,存储计算机程序,所述计算机程序被一个或多个处理器执行时,实现本发明一实施例中的数据处理方法。

本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:

1)本发明一实施例中的数据处理方法,针对现有的模型加载训练数据时,训练数据占用计算机内存过大,加载时间过长,导致模型训练效率低的问题,通过将与时间跨度相关的特征数据进行合并,减少输入模型的特征数,在保证模型预测精度没有损害的前提下大大降低训练数据所占的内存,缩短加载数据所消耗的时间,提高模型训练的效率。

2)本发明一实施例中的数据处理方法,针对现有的通过实时加载来降低内存的消耗,但是每次加载只能加载数量很少的数据进行训练,而且实时数据加载会导致cpu和gpu频繁交互,降低gpu的训练工作效率,拖慢模型的训练速度的问题,通过在每次加载训练数据时所加载的数据文件的数量,是当前内存资源所能加载的最大的文件数量,然后训练接口函数即可从内存中读取数据文件进行模型训练的方法,可以最大化每次加载数据文件的数据量,从而减少数据加载次数,即可以最大化cpu的数据读取效率,同时减少cpu与gpu的数据读取交互次数,从而使gpu更稳定地执行模型训练,提高模型训练效率。

附图说明

图1为本发明一实施例中的数据处理方法流图;

图2为本发明一实施例中的e-kt的函数示意图;

图3为本发明一实施例中的衰减系数k的确定流程图;

图4为本发明一实施例中的数据处理装置框图;

图5为本发明一实施例中的数据处理设备的示意图。

具体实施方式

以下结合附图和具体实施例对本发明提出的一种数据处理方法、装置、设备及存储介质作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。

实施例一

本实施例针对现有的模型加载训练数据时,训练数据占用计算机内存过大,加载时间过长,导致模型训练效率低的问题,提供了一种数据处理方法,通过将与时间跨度相关的特征数据进行合并,减少输入模型的特征数,在保证模型预测精度没有损害的前提下大大降低训练数据所占的内存,缩短加载数据所消耗的时间,提高模型训练的效率。

具体的,请参看图1,该数据处理方法用于用户行为预测模型数据的加载,包括以下步骤:

s1:获取用户行为的历史数据,提取基于时间序列的用户行为数据;

s2:基于用户行为上次发生距离当前时间间隔越小,用户行为再次发生概率越大的原则,将用户行为数据乘上一个随时间衰减的函数c(t),然后再求和∑c(t)a,用于表征该用户在该行为上的汇总特征;其中,c(t)=e-kt,k是衰减系数;

s3:汇集各用户的汇总特征构成数据集,当用户行为预测模型需要加载训练数据时,将所述数据集作为训练数据载入用户行为预测模型。

其中,衰减系数k的确定包括以下步骤:

a1:令历史用户行为数据为ahistory,距离当前时间间隔为t,当前时间的用户行为值为atoday,衰减系数k的初始值为0.01;

a2:计算每个用户的汇总特征valida=σe-ktahistory;

a3:将用户数据按valida的降序排列,并均匀分为n组;

a4:计算各组用户的valida均值和atoday均值,得到两均值序列;

a5:计算两均值序列之间的相关系数;

a6:若相关系数大于0.85,则将valida作为相应用户的汇总特征;若相关系数小于等于0.85,则将衰减系数k乘上1.5后得到新的衰减系数k,重复步骤a2~a6。

在步骤s1中,获取用户行为的历史数据,提取基于时间序列的用户行为数据。以消费信贷为例,消费信贷是金融创新的产物,是商业银行陆续开办的用于自然人(非法人或组织)个人消费目的(非经营目的)的贷款。个人消费信贷是指银行或其他金融机构采取信用、抵押、质押担保或保证方式,以商品型货币形式向个人消费者提供的信用贷款。按接受贷款对象的不同,消费信贷又分为买方信贷和卖方信贷。买方信贷是对购买消费品的消费者发放的贷款,如个人旅游贷款、个人综合消费贷款、个人短期信用贷款等。卖方信贷是以分期付款单证作抵押,对销售消费品的企业发放的贷款,如个人小额贷款、个人住房贷款、个人汽车贷款等;按担保的不同,又可分为抵押贷款、质押贷款、保证贷款和信用贷款等。

根据58金融最新发布的《消费信贷用户行为报告》显示,消费信贷用户将消费信贷用于日常生活消费和购买家电3c产品,kol、熟人推荐和线上广告是主要认知渠道;利息、手续费是用户考虑的主要因素,费用低且安全度高的产品受青睐;借贷额度普遍集中于2000元至15000元,借贷日利率在万2.1至万5,大部分用户会按期分期还款。

从用户行业分析,消费信贷用户所在的top3行业分别是生产管理/研发、教育培训、人事/行政/后勤,分别占比8%、7%和6%。信贷用户的个人月薪集中于5000元至20000元,家庭月收入集中于10000元至30000元。可见,拥有较为稳定职业、收入中等偏上的人群更青睐使用消费信贷产品来提前解决日常消费需求。这也表明,面对广大的中产阶级市场,消费信贷还有较大潜力可以挖掘。

对于提供信贷服务的公司而言,希望可以通过大数据分析,得到需要申请信贷的用户群体,为更好地开展信贷业务作准备。通常信贷公司会建立机器学习模型预测信贷用户的近期或长期是否会进行消费或贷款,其中需要对机器学习模型进行训练,以达到预测的精度要求。其训练数据通常采用用户的历史信贷行为数据,在消费信贷普及的情况下,其用户的数量会不断增加,随即用户的历史信贷行为数据会剧增。而大量的历史数据,若不对其作适当的处理的话,在模型训练时,会占用很大的计算机内存,且加载时间也很长,模型的训练效率会很低。

本实施例为了提高模型的训练效率,对需要加载的训练数据作了处理。由于用户的历史信贷行为数据与时间有很大的相关性,本实施例从时间序列方面着手处理用户的历史信贷行为数据,首先就需要在用户的历史信贷行为数据中提取基于时间序列的用户行为数据。

在步骤s2中,基于用户行为上次发生距离当前时间间隔越小,用户行为再次发生概率越大的原则,将用户行为数据乘上一个随时间衰减的函数c(t),然后再求和∑c(t)a,用于表征该用户在该行为上的汇总特征;其中,c(t)=e-kt,k是衰减系数。

对于和时间相关的用户行为a(如一天的消费金额),其发生的时间距离当前时间间隔t越小,其产生的效应越大,反之越小。

例如有两个在过去15天内消费了100元的用户,第一个用户是在过去15天的前5天消费的,第二个用户是在过去15天的后5天消费的。那么,第二个用户今天消费的可能性要比第一个用户高许多。

基于距离当前时间间隔越小,用户行为的发生概率越大的原则,可通过给用户的每一个行为a乘上一个随时间衰减的函数c(t),然后再求和∑c(t)a,用于表征该用户在该行为上的汇总特征。

其中,函数c(t)是时间间隔t的减函数,这里采用如下指数函数

c(t)=e-kt

其中,k是待确定的“衰减系数”。请参看图2,图中是c(t)函数图,从图中可以看出,k取值越大,衰减越快。因此,用户的汇总特征可表示为∑e-tta。

由于汇总特征∑e-kta表征用户在该行为特征上的综合潜力,在随机性的影响下,汇总特征∑e-kta取值高的用户今天在该行为a上不一定表现突出,取值低的用户在今天也不一定表现较差。但从整体来看,汇总特征取值越高的用户在该行为上的表现倾向于突出。因此,衰减系数k可以通过以下方法确定:

(1)将用户按照∑e-kta由高到低排序后,均分为n组g1,g2,…,gn(如20组至30组,可据用户量确定);

(2)取各组用户∑e-kta的平均值及今天在该行为a上的平均值;

注:nu为用户u的消费天次数,tui为用户u第i次消费距离今天的时间间隔,aui为用户u第i次消费的金额,au为用户u今天消费的金额。

选择合适的k,使各组用户的这两个平均值的相关系数最大化,一般要求相关系数大于0.85。

具体的,请参看图3,衰减系数k的确定包括以下步骤:

a1:令历史用户行为数据为ahistory,距离当前时间间隔为t,当前时间的用户行为值为atoday,衰减系数k的初始值为0.01;

a2:计算每个用户的汇总特征valida=∑e-ktahistory;

a3:将用户数据按valida的降序排列,并均匀分为n组;如g1,g2,…,gn;

a4:计算各组用户的valida均值和atoday均值,得到两均值序列[valida1,valida2,…,validan]和[atoday1,atoday2,…,atodayn];

a5:计算两均值序列之间的相关系数;

a6:若相关系数大于0.85,则将valida作为相应用户的汇总特征;若相关系数小于等于0.85,则将衰减系数k乘上1.5后得到新的衰减系数k,重复步骤a2~a6。

在步骤s3中,汇集各用户的汇总特征构成数据集,当用户行为预测模型需要加载训练数据时,将数据集作为训练数据载入用户行为预测模型。其中,当用户行为预测模型需要加载训练数据时,将数据集作为训练数据载入用户行为预测模型进一步包括:

从数据集中读取预设数量的数据文件,得到数据文件列表;其中,该预设数量为cpu当前的内存资源所能加载的最大的文件数量;

将数据文件列表所对应的文件加载到内存;

调用预设的训练接口函数从内存中读取数据文件进行模型训练。

具体的,本实施例以当前内存资源所能加载的最大的文件数量为基准,将当前内存资源所能加载的最大的文件数量作为单次读取数据文件时的可读取文件数量。

按照上述规则,当每次从训练数据集中读取数据文件时,是读取设定数量的数据文件,该设定数量等于当前内存资源所能加载的最大的文件数量。也就是,每次从训练数据集中读取数据文件时,是读取当前内存资源所能加载的最大数量的数据文件。如果某次读取时,训练数据集中的数据文件的数量不足当前内存资源所能加载的最大数量,则将训练数据集中的所有数据文件全部读取。

从训练数据集中读取的数据文件构成数据文件列表,在该列表中,存储各个数据文件的名称及存储路径等信息。

将数据文件列表所对应的文件加载到内存。例如,根据上述的数据文件列表中所记载的文件名称和存储路径,从相应的存储路径读取相应名称的文件,并将读取的文件加载的内存中。该文件加载过程可以通过多线程批量进行,从而使得一次加载能够加载更多的数据文件。

按照本实施例的上述处理,在每次加载数据时,能够充分利用cpu的内存资源,使得每次数据加载都能发挥最大用处。在总的训练数据量一定的情况下,增加单次数据加载的数据文件数量,可以减少数据加载次数,从而可以降低gpu与cpu的数据加载交互次数。一方面,cpu的数据加载效率更高;另一方面,gpu可以更专注地执行模型训练处理,从而可以提高模型训练效率。

调用预设的训练接口函数从所述内存中读取数据文件进行模型训练。例如,将训练数据加载到内存后,即可调用预设的训练接口函数从内存中读取数据文件进行模型训练,即执行后续的模型训练过程。

在该数据读取和模型训练过程中,确定训练接口函数的运算参数,其中,所述运算参数包括每个数据文件参与训练的次数、每次迭代加载的数据文件数量以及迭代次数。对于单个训练数据的应用可以重复多次,例如利用单个训练数据多次对模型进行训练,或者也可以在单次训练时加载多个数据文件进行训练,具体的数据加载和训练模式,可以通过设置训练接口函数的参数进行灵活设定。

实施例二

本实施例提供了一种数据处理装置,用于用户行为预测模型数据的加载,请参看图4,该数据处理装置包括:

数据获取模块1,用于获取用户行为的历史数据,提取基于时间序列的用户行为数据;

数据处理模块2,用于基于用户行为上次发生距离当前时间间隔越小,用户行为再次发生概率越大的原则,将用户行为数据乘上一个随时间衰减的函数c(t),然后再求和∑c(t)a,用于表征该用户在该行为上的汇总特征;其中,c(t)=e-kt,k是衰减系数;

数据加载模块3,用于汇集各用户的汇总特征构成数据集,当用户行为预测模型需要加载训练数据时,将所述数据集作为训练数据载入用户行为预测模型。

其中,数据加载模块3包括数据读取单元、数据加载单元及训练处理单元。数据读取单元,用于从数据集中读取预设数量的数据文件,得到数据文件列表;其中,该预设数量为当前的内存资源所能加载的最大的文件数量。数据加载单元,用于将数据文件列表所对应的文件加载到内存。训练处理单元,用于调用预设的训练接口函数从内存中读取数据文件进行模型训练。

上述数据获取模块1、数据处理模块2及数据加载模块3的功能和实现方法均如上述实施例一中所述,在此不再赘述。

实施例三

上述实施例二从模块化功能实体的角度对本发明数据处理装置进行详细描述,下面从硬件处理的角度对本发明数据处理设备进行详细描述。

请参看图5,该数据处理设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备500中的一系列指令操作。

进一步地,处理器510可以设置为与存储介质530通信,在数据处理设备500上执行存储介质530中的一系列指令操作。

数据处理设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如windowsserve、vista等等。

本领域技术人员可以理解,图5示出的数据处理设备结构并不构成对数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质。该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行实施例一中的数据处理方法中的步骤。

实施例二中的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件的形式体现出来,该计算机软件存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置及设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。

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