一种特征数据处理方法及设备与流程

文档序号:11678198阅读:260来源:国知局
一种特征数据处理方法及设备与流程

本申请涉及互联网技术领域,特别涉及一种特征数据处理方法。本申请同时还涉及一种特征数据处理设备。



背景技术:

随着互联网的不断发展,大量用户在使用互联网过程中所产出的数据可被广泛使用并转换成有用的信息和知识。这些获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。因此数据挖掘技术越来越为信息产业界所关注。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,其通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。

在数据挖掘的业务场景中,经常需要针对超大规模的数据使用机器学习算法进行分类或者回归计算,在当前互联网的环境下,经常需要对数十亿甚至上千亿的数据进行训练,训练特征随着业务扩展,也会到一个非常惊人的量级,以ctr(click-through-rate,广告点击率)业务为例,参与计算的特征有可能达到百亿的规模,对于此类问题,常规的解决方案是使用并行计算的方式进行,但是对于百亿特征*千亿数据的规模下,经常使用到超大规模的计算集群,得到最终最优结果的是时间也非常长,满足不了业务的更新需求。

如图1所示,为现有技术中针对特征数据进行处理的实现伪代码示意图,该方法通过为每台worker(处理设备)分配t个数据,利用这些数据进行优化更新处理,最后由指定的处理端对输出结果进行归约。然而,该方案实质上仅是将原本海量的数据分发到n个不同的worker中计算,其处理的数据总量以 及用于处理数据的特征不发生变化,每个worker处理的数据量为总数据量的1/n,对于数据量在一定范围内可以处理,但是对于千亿样本,百亿特征的情况下,数据总量可能超过pb级别,超出了一般计算集群的计算范围,运行时间和效率都比较低。

由此可见,在面对海量的待处理数据时,如何在保留特征信息的同时降低特征维度,从而降低训练数据以及提升数据计算运行效率,成为本领域技术人员亟待解决的技术问题。



技术实现要素:

本申请提供了一种特征数据处理方法,通过引入iv值选择和hashing生成每个样本的特征指纹替代原始特征训练,最大程度的保留了特征的信息值,又极大的降低了特征维度,最终保证训练维度可控,降低了训练数据量,提升了训练速度。所述特征数据处理方法包括:

根据各个特征的信息属性值,将当前存在的特征分别划分为重要特征集以及辅助特征集;

将所述辅助特征集中的特征转换为散列特征;

将所述散列特征与所述重要特征集中的特征进行合并,并将所述合并后的特征设置为指纹特征。

优选地,所述信息属性值至少包括所述特征的信息值iv以及信息增益ig,根据各个特征的信息属性值将当前存在的特征分别划分为重要特征集以及辅助特征集,具体为:

获取各所述特征的信息属性值;

将所述信息属性值大于或等于预设的阈值的特征设置为重要特征,以及将所述信息属性值小于所述阈值的特征设置为辅助特征;

根据所述特征中的重要特征生成所述重要特征集,以及根据所述特征中 的辅助特征生成所述辅助特征集。

优选地,将所述辅助特征集中的特征转换为散列特征,具体为:

根据预设的哈希算法,将所述辅助特征转换为包含所述哈希算法对应的参数的向量。

优选地,在将所述合并后的特征设置为指纹特征之后,还包括:

将与待处理数据对应的原始特征替换为所述指纹特征;

根据所述指纹特征对所述待处理数据进行训练以及预测。

本申请提供了一种特征数据处理设备,包括:

划分模块,用于根据各个特征的信息属性值,将当前存在的特征分别划分为重要特征集以及辅助特征集;

转换模块,用于将所述辅助特征集中的特征转换为散列特征;

合并模块,用于将所述散列特征与所述重要特征集中的特征进行合并,并将所述合并后的特征设置为指纹特征。

优选地,所述信息属性值至少包括所述特征的信息值iv以及信息增益ig,所述划分还包括:

获取子模块,用于获取各所述特征的信息属性值;

设置子模块,用于将所述信息属性值大于或等于预设的阈值的特征设置为重要特征,以及将所述信息属性值小于所述阈值的特征设置为辅助特征;

生成子模块,用于根据所述特征中的重要特征生成所述重要特征集,以及根据所述特征中的辅助特征生成所述辅助特征集。

优选地,所述转换模块将所述辅助特征集中的特征转换为散列特征,具体为:

根据预设的哈希算法,将所述辅助特征转换为包含所述哈希算法对应的参数的向量。

优选地,所述合并模块还包括:

替换子模块,用于将与待处理数据对应的原始特征替换为所述指纹特征;

训练子模块,用于根据所述指纹特征对所述待处理数据进行训练以及预测。

与现有技术相比,本申请实施例至少具有以下优点:本申请实施例中将原有特征分为重要特征和辅助特征,重要特征全部原样保留,通过hashing的方法处理辅助特征得到散列值,最终重要特征集合和散列值合并得到原始特征指纹,进而执行集群学习训练和预测,该方式在保留特征信息的同时降低了特征维度,进而降低训练数据以及提升数据计算运行效率,从而提升了数据处理效率。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中中进行特征训练的具体实现伪代码示意图;

图2为本申请实施例提出的一种特征数据处理方法的流程示意图;

图3为本申请实施例提出的信息值计算的输出形式示意图;

图4为本申请实施例提出的hashing算法示意图;

图5为本申请实施例提出的一种高效训练流程示意图;

图6为本申请实施例提出的一种特征数据处理设备的结构示意图。

具体实施方式

为了进一步阐述本申请的技术思想,现结合具体的应用场景,对本申请的技术方案进行说明。显然,所描述的实施例仅仅是本申请的一部分实施例, 而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图2所示,为本申请实施例提供的一种特征数据处理方法的流程,具体包括以下步骤:

步骤201,根据各个特征的信息属性值,将当前存在的特征分别划分为重要特征集以及辅助特征集。

为了实现数据特征的简化,本申请通过将数据原有的特征分为两个特征集合:重要特征集和辅助特征集,其中重要特征集中的特征全部原样保留,而辅助特征集中的特征由于维度一般较高,后续将进行处理以降低其维度。

在当今数据接口越来越多的情况下,数据集的原始变量、衍生变量会越来越多,因此信息值iv(informationvalue)在实际数据应用中十分重要。iv用来表示每一个变量对目标变量来说有多少“信息”的量,从而使得特征选择变得简单快速。

但凡是特征选择,总是在将特征的重要程度量化之后再进行选择,而如何量化特征,就成了各种方法间最大的不同。在信息增益中,重要性的衡量标准就是看特征能够为分类系统带来多少信息,带来的信息越多,该特征越重要。因此对于一个特征而言,信息增益为系统存在该特征和不存在该特征时候的信息量各是多少,两者的差值就是这个特征给系统带来的信息量,即信息增益ig(informationgain)。

由于iv以及ig是与特征密切相关的两个属性,在本申请的优选实施例中,信息属性值应至少包括特征的iv以及ig,在该步骤之前需要针对各个特征数据进行特征属性值的计算,用以获取各个特征的信息属性值。

以二分为例,本申请具体的实施例中信息属性值计算公式如下所示:

woe=ln(pctlgood/pctlbad)

miv=woe*(pctlgood-pctlbad)

iv=∑miv

该实施例中对应的输出形式如图3所示,其中col列为特征名,iv为信息值,ig为信息增益。

在此基础上,本申请实施例中为了实现对各个特征是重要特征或辅助特征的划分,预先设定了iv阈值和/或ig阈值。将通过上述公式计算得到的各个特征的信息属性值与预设的iv阈值和/或ig阈值进行比较,若某一特征的信息属性值大于或等于预设的阈值,则判断该特征为重要特征;若某一特征的信息属性值小于所述阈值,则判断该特征为辅助特征。

根据上述判断的重要特征与辅助特征,依赖于iv值和/或ig值将原有特征分成了重要特征集和辅助特征集两个部分。其中,重要特征集中的信息属性值均大于或等于预设的阈值,辅助特征集中的信息属性值则小于预设的阈值。

需要说明的是,以上优选实施例尽管以iv以及ig为例说明了重要特征集以及辅助特征集中特征的划分,但是本领域技术人员可以在此基础上采取其他属性或是手段实现相同的效果,这些都属于本申请的保护范围。

步骤202,将所述辅助特征集中的特征转换为散列特征。

如s201所述,由于辅助特征集可能较大,因此在本申请的优选实施例中,可采用哈希算法b-bitminwisehashing方案将辅助特征集转为散列值标识。预设的哈希算法具体如图4所示。

通过上述算法,辅助特征集中的辅助特征被转换为一个k*2b维度的向量,其中,k和b为算法指定参数。本申请实施例提出利用哈希算法b-bitminwisehashing处理辅助特征集,b-bitminwisehashing算法广泛应用于海量数据下的信息检索,而b-bitminwisehashing算法主要是针对降低存储空间、加快计算提出来的,精度会随着b的降低而降低。通过b-bitminwisehashing处理辅助 特征集能够实现将b=64缩小到b位,降低了存储空间和计算时间。

需要说明的是,该过程只是将辅助特征集中的辅助特征转换为散列值标识,并不对重要特征集中的特征进行处理,重要特征集中的特征全部原样保留。

步骤203,将所述散列特征与所述重要特征集中的特征进行合并,并将所述合并后的特征设置为指纹特征。

在本申请的优选实施例中,将重要特征集中的特征与辅助特征转换后的散列值合并,并将合并后的特征设置为指纹特征。之后将与待处理数据对应的原始特征替换为指纹特征,并根据指纹特征对待处理数据进行训练以及预测。

如图5所示,为本申请实施例提出的一种高效训练流程示意图。

以iv值为例,本申请实施例在原有的特征数据基础上,计算各个特征对应的iv值,并判断该iv值是否大于预先设定的iv阈值;若是,抽取大于该iv阈值的特征,加入重要特征集合;若否,抽取小于该iv阈值的特征加入辅助特征集合,并对所有辅助特征集合中的数据进行hashing运算得到原辅助特征对应的散列值,即得到各原辅助特征对应的散列特征;将运算得到的散列特征与重要特征集合中的特征进行合并,将合并得到的特征作为各个原始特征对应的特征指纹;最后对该特征指纹进行lr训练预测,流程结束。

应用上述高效训练方式对特征数据进行训练,以1亿特征为例,取k=200,b=12,重要特征取top10000,生成指纹特征后,降维比约为0.008292,特征和数据不到原先数据量的1%。通过上述改动,在1亿特征数据上,auc交全量训练提升2%,数据大小为原先数据量的1%。

基于与上述方法同样的发明构思,本申请实施例中还提供了一种特征数据处理设备,如图6所示,该特征数据处理设备包括:

划分模块601,用于根据各个特征的信息属性值,将当前存在的特征分别划分为重要特征集以及辅助特征集;

转换模块602,用于将所述辅助特征集中的特征转换为散列特征;

合并模块603,用于将所述散列特征与所述重要特征集中的特征进行合并,并将所述合并后的特征设置为指纹特征。

优选地,所述信息属性值至少包括所述特征的信息值iv以及信息增益ig,所述划分模块601还包括:

获取子模块,用于获取各所述特征的信息属性值;

设置子模块,用于将所述信息属性值大于或等于预设的阈值的特征设置为重要特征,以及将所述信息属性值小于所述阈值的特征设置为辅助特征;

生成子模块,用于根据所述特征中的重要特征生成所述重要特征集,以及根据所述特征中的辅助特征生成所述辅助特征集。

优选地,所述转换模块602将所述辅助特征集中的特征转换为散列特征,具体为:

根据预设的哈希算法,将所述辅助特征转换为包含所述哈希算法对应的参数的向量。

优选地,所述合并模块603还包括:

替换子模块,用于将与待处理数据对应的原始特征替换为所述指纹特征;

训练子模块,用于根据所述指纹特征对所述待处理数据进行训练以及预测。

其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

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