掌桥专利:专业的专利平台
掌桥专利
首页

一种特征处理方法、装置、设备及存储介质

文献发布时间:2024-04-18 20:00:50


一种特征处理方法、装置、设备及存储介质

技术领域

本申请实施例涉及数据处理技术领域,具体而言,涉及一种特征处理方法、装置、设备及存储介质。

背景技术

端智能是在智能终端,例如手机端,掌上电脑端上进行机器学习等人工智能运算。特征工程是机器学习中不可或缺的一部分,特征工程是指把原始数据转化为模型可以识别的输入特征的过程,特征工程有利于及其学习模型逼近其上限,提升机器学习模型的性能。现有技术中在进行端智能运算时,需要对原始数据进行定制化的处理,将原始数据转化为终端上的神经网络可以识别的特征。

现有技术中的端智能项目中,并未公开较为通用的特征工程做法,一般都是基于具体场景进行定制化的处理,即使在同一个场景中,也无法实现特征的动态扩展,不具备通用性,影响了端智能推理的整体速度和准确性。

发明内容

本申请实施例提供一种特征处理方法、装置、设备及存储介质,旨在提升端智能推理的速度和准确性。

本申请实施例第一方面提供一种特征处理方法,所述方法包括:

接收多条待预测的原始数据;

根据预先设置的特征结构,对所述多条待预测的原始数据进行特征组装,得到多条组装后的数据;

将所述多条组装后的数据分别进行数据展开,得到多条展开后的数据;

根据预先设置的数值类型,对所述多条展开后的数据进行数据转换,得到多条转换后的数据;

将所述多条转换后的数据输入到移动端上的神经网络的特征空间中。

可选地,在接收多条待预测的原始数据之前,所述方法还包括:

当所述神经网络训练完成后,对于所述神经网络中的每个输入特征,设置对应的配置项,所述配置项至少包括:特征结构、数值类型、缺省值。

可选地,所述根据预先设置的特征结构,对所述多条待预测的原始数据进行特征组装,得到多条组装后的数据,包括:

确定所述神经网络中的每个特征的特征结构;

针对每个所述特征,根据所述特征的特征结构,从所述多条待预测的原始数据中提取对应的特征值;

将所述特征值按照所述特征结构进行排列,得到所述组装后的数据。

可选地,所述方法还包括:

当所述待预测数据的数量超过所述特征结构中规定的数据数量时,对多余的待预测数据进行退回;

当所述待预测数据的数量不满足所述特征结构中规定的数据数量时,通过预设的缺省值对缺失特征值进行补充。

可选地,所述将所述多条组装后的数据分别进行数据展开,得到多条展开后的数据,包括:

通过预先编写的数据展开函数,遍历所述多条组装后的数据;

针对所述多条组装后的数据中的每一条组装后的数据,将所述组装后的数据由多维数组展开成为对应的一维数组,得到所述多条展开后的数据。

可选地,所述根据预先设置的数值类型,对所述多条展开后的数据进行数据转换,得到多条转换后的数据,包括:

确定所述多条展开后的数据的原始数值类型;

当所述多条展开后的数据的原始数值类型与所述预先设置的数值类型不同时,将所述多条展开后的数据的数值类型由所述原始数值类型转化为所述预先设置的数值类型,得到所述多条转换后的数据。

可选地,所述将所述多条转换后的数据输入到移动端上的神经网络的特征空间中,包括:

针对所述多条转换后的数据中的每条转换后的数据,确定所述转换后的数据的特征结构;

根据所述特征结构,确定所述转换后的数据需要的内存占用量;

根据所述内存占用量,向所述移动端申请对应容量的内存空间;

将所述转换后的数据存储至所述内存空间中。

本申请实施例第二方面提供一种特征处理装置,所述装置包括:

数据接收模块,用于接收多条待预测的原始数据;

特征组装模块,用于根据预先设置的特征结构,对所述多条待预测的原始数据进行特征组装,得到多条组装后的数据;

数据展开模块,用于将所述多条组装后的数据分别进行数据展开,得到多条展开后的数据;

数值类型转换模块,用于根据预先设置的数值类型,对所述多条展开后的数据进行数据转换,得到多条转换后的数据;

数据存储模块,用于将所述多条转换后的数据输入到移动端上的神经网络的特征空间中。

可选地,所述装置还包括:

特征配置模块,用于当所述神经网络训练完成后,对于所述神经网络中的每个输入特征,设置对应的配置项,所述配置项至少包括:特征结构、数值类型、缺省值。

可选地,所述特征组装模块包括:

特征结构确定子模块,用于确定所述神经网络中的每个特征的特征结构;

特征值提取子模块,用于针对每个所述特征,根据所述特征的特征结构,从所述多条待预测的原始数据中提取对应的特征值;

特征组装子模块,用于将所述特征值按照所述特征结构进行排列,得到所述组装后的数据。

可选地,所述装置还包括:

数据退回子模块,用于当所述待预测数据的数量超过所述特征结构中规定的数据数量时,对多余的待预测数据进行退回;

特征值补充子模块,用于当所述待预测数据的数量不满足所述特征结构中规定的数据数量时,通过预设的缺省值对缺失特征值进行补充。

可选地,所述数据展开模块包括:

数据遍历子模块,用于通过预先编写的数据展开函数,遍历所述多条组装后的数据;

数据展开子模块,用于针对所述多条组装后的数据中的每一条组装后的数据,将所述组装后的数据由多维数组展开成为对应的一维数组,得到所述多条展开后的数据。

可选地,所述数值类型转换模块包括:

原始数值类型确定子模块,用于确定所述多条展开后的数据的原始数值类型;

数值类型转换子模块,用于当所述多条展开后的数据的原始数值类型与所述预先设置的数值类型不同时,将所述多条展开后的数据的数值类型由所述原始数值类型转化为所述预先设置的数值类型,得到所述多条转换后的数据。

可选地,所述数据存储模块包括:

特征结构确定子模块,用于针对所述多条转换后的数据中的每条转换后的数据,确定所述转换后的数据的特征结构;

内存占用量确定子模块,用于根据所述特征结构,确定所述转换后的数据需要的内存占用量;

内存空间申请子模块,用于根据所述内存占用量,向所述移动端申请对应容量的内存空间;

数据存储子模块,用于将所述转换后的数据存储至所述内存空间中。

本申请实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。

本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请第一方面所述的方法的步骤。

采用本申请提供的特征处理方法,接收多条待预测的原始数据;根据预先设置的特征结构,对所述多条待预测的原始数据进行特征组装,得到多条组装后的数据;将所述多条组装后的数据分别进行数据展开,得到多条展开后的数据;根据预先设置的数值类型,对所述多条展开后的数据进行数据转换,得到多条转换后的数据;将所述多条转换后的数据输入到移动端上的神经网络的特征空间中。本申请中预先设置了特征结构,在接收到待预测的原始数据时,根据预先设置的特征结构,对待预测的原始数据进行特征组装,得到组装后的数据,保证了终端上的神经网络接收的数据的特征结构的统一性,再将这些组装后的数据进行数据展开,对接收的数据的维度进行了统一,保证了终端上的神经网络可以接收处理任意维度的数据,再将展开后的数据转化为预先设置的数值类型,得到转换后的数据,保证了终端上的神经网络可以处理任意数值类型的数据,最后将得到的转换后的数据输入神经网络的特征空间中,神经网络此时即可对这些数据进行处理,对待预测数据的特征组装,数据展开以及数据转化,保证了端智能任务中的神经网络模型可以接收任意特征结构,任意维度,任意数值类型的数据,提升了端智能预测的速度和准确度。

附图说明

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

图1是本申请一实施例提出的特征处理方法的流程图;

图2是本申请一实施例提出的配置项示意图;

图3是本申请一实施例提出的模型中配置项示意图;

图4是本申请一实施例提出的特征组装示意图;

图5是本申请一实施例提出的特征组装样例示意图;

图6是本申请一实施例提出的特征转换示意图;

图7是本申请一实施例提出的算子代码示意图;

图8是本申请一实施例提出的展开函数图;

图9是本申请一实施例提出的展平前后数据对比图;

图10是本申请一实施例提出的数值类型转换示意图;

图11是本申请一实施例提出的语言转换代码示意图;

图12是本申请一实施例提出的数据存储代码示意图;

图13是本申请一实施例提出的特征处理装置的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参考图1,图1是本申请一实施例提出的特征处理方法的流程图。如图1所示,该方法包括以下步骤:

S11:接收多条待预测的原始数据。

本实施例中,待预测的原始数据是未经处理的数据,这些数据为文字形式,无法被神经网络直接识别,需要通过特征工程转化为神经网络可以识别的特征,通过待预测的原始数据,可以执行对应的预测任务。

本实施例中,在进行特征处理时,首先接收多条待预测的原始数据。

示例地,待预测的原始数据是某用户的历史行为数据,预测任务为预测该用户对商品的点击率。

S12:根据预先设置的特征结构,对所述多条待预测的原始数据进行特征组装,得到多条组装后的数据。

本实施例中,特征结构(shape)指数组中的每层数组的元素个数,在神经网络训练完毕后,对于每一类的特征,都会有一个特定的特征结构,在神经网络训练完毕之后,开发人员对每一类的特征结构进行设置,指定好每一层数组的元素个数,后续的原始数据都可以按照对应的类型进行特征组装。组装后的数据是根据预设的特征结构,在多条待预测的原始数据中提取特征值后组装出的数据。

本实施例中,在接收到待预测的原始数据之后,根据神经网络中预先设置的每个类型的特征的特征结构,从多条待预测的原始数据中提取对应的特征值,再根据特征结构将特征值排列组合成对应的矩阵,得到多条组装后的数据。每个特征对预测结果都有一定的影响,根据特征的结构,从原始数据中提取需要的特征值进行特征组装,最后组装出的特征就可以用于进行后续的推理。

示例地,待预测的原始数据有19条,通过这19条待预测的原始数据,对某个用户对某商品的点击通过率进行预测,此时遍历神经网络中的所有特征,对于每个特征,确定该特征的特征结构,当该特征的特征结构为[5,1]时,则将该特征组装为[19,5,1],这个特征代表数组有19个元素,其中每个元素又是一个二维数组。即从这19条数据中进行特征提取,提取出5个特征值,按照[5,1]这种结构进行排列。

S13:将所述多条组装后的数据分别进行数据展开,得到多条展开后的数据。

本实施例中,展开后的数据是将多条多维的组装后的数据进行展开后得到的一维数组数据。

本实施例中,神经网络在处理输入特征时,需要按照数组的层级,对每个层级的数组依次进行处理,当数组的层级过多时,这样处理会耗费巨量的计算资源,不利于端智能的运算。因此,在接收到多条组装后的数据时,需要将每条组装后的数据进行数据展开,将数据展开为一维数据,通过调用预先编写的数据展开函数,即递归函数,可以将多维数组数据转换为一维数组数据。

示例地,特征结构为shape=[19,5,8]的数据,进行特征展开后,元素个数有760个=19*5*8,该方法展平后的数据保持了数据内存分配的顺序与预期的一致。

S14:根据预先设置的数值类型,对所述多条展开后的数据进行数据转换,得到多条转换后的数据。

本实施例中,数值类型是数据在计算机中的数据形式,一般包括int(整形),float(浮点型),long(长整型),(complex)复数类型。转换后的数据是将展开后的数据进行数据转换后,得到的数据,转换后的数据的数值类型与预先设置的数值类型是相同的。

本实施例中,当展开后的数据的数值类型与预先设置的数值类型不符时,需要将多条展开后的数据进行数值类型转换,使用预先编写的语言转换代码,即可对展开后的数据进行数值类型的转换。

示例地,多条展开后的数据为long数据,预先设置的数值类型为int型数据,通过预先编写的语言转换代码,将多条展开后的数据由long数据转换为int数据。

S15:将所述多条转换后的数据输入到移动端上的神经网络的特征空间中。

本实施例中,特征空间是神经网络中存储特征的地方。

本实施例中,当得到多条转换后的数据之后,就完成了将原始数据转化为神经网络可以识别的特征的过程,进而需要将转化后的数据输入移动端上的神经网络的特征空间中,在将转换后的数据输入神经网络的特征空间之前,需要重新遍历神经网络中的所有特征,设置每个特征的实际特征结构,即确定每条转换后的数据的特征结构,将神经网络中的特征结构设置为转换后的数据的实际特征结构。再调用解释器中的对应的接口(allocateTensors API),向移动端的后台申请对应的内存大小,最后将每条转化后的数据输入对应特征的内存中。

本实施例中,经过上述步骤就完成了原始数据的特征组装、数据展开、数值转换、将特征数据输入模型的解释器中,以此实现了对各种数值类型的数据的通用性支持,对任意维度数组的通用性支持,针对不同的业务场景、不同类型的模型,可以做到高度复用、动态可配。大大提升了端智能预测任务的效率。针对不同的业务场景、不同类型的模型,可以做到高度复用、动态可配。

在本申请的另一个实施例中,在接收多条待预测的原始数据之前,所述方法还包括:

S21:当所述神经网络训练完成后,对于所述神经网络中的每个输入特征,设置对应的配置项,所述配置项至少包括:特征结构、数值类型、缺省值。

本实施例中,当神经网络训练完成后,神经网络可以接收的输入特征是一定的,对于每一个输入特征,设置对应的配置项,设置的配置项至少包括:特征结构(shape)、数值类型(data_tape)、缺省值(default)。其中,特征结构是每个特征的数组结构,数值类型是数据的数值在计算机中的形式,缺省值是指在无决策者干预情况下,对于决策或应用软件、计算机程序的系统参数的自动选择的值。

本实施例中,这些配置项一部分以配置文件的方式配置,另一些配置项在神经网络模型的内部配置,通过配置文件配置的配置项,只需要加载即可使用,在神经网络模型的内部配置的配置项,是在神经网络训练完毕后再去神经网络中配置的。

参考图2,图2是本申请一实施例提出的配置项示意图,文件名为configs,其中在配置文件中实现了多个特征配置项的配置,其中第2个(index=1)特征配置中,有default默认数据、shape值、data_type值等。

参考图3,图3是本申请一实施例提出的模型中配置项示意图,其中被配置的特征的名称为f200004_em,其中定制了data_type,shape等配置选项。

在本申请的另一个实施例中,所述根据预先设置的特征结构,对所述多条待预测的原始数据进行特征组装,得到多条组装后的数据,包括:

S31:确定所述神经网络中的每个特征的特征结构。

本实施例中,神经网络中的特征是神经网络可以识别的数据,是由原始数据转化而来的。

本实施例中,当神经网络训练完毕后,神经网络中的每个特征的特征结构都在配置项中进行了配置。在得到多条待预测的原始数据后,确定神经网络中的每个特征的特征结构。

S32:针对每个所述特征,根据所述特征的特征结构,从所述多条待预测的原始数据中提取对应的特征值。

本实施例中,针对每个特征,根据该特征的特征结构,从多条待预测的原始数据中提取对应的特征值,根据特征结构中的元素个数,即可确定需要的特征值的个数,进而从原始数据中选取对应的个数的特征值。

S33:将所述特征值按照所述特征结构进行排列,得到所述组装后的数据。

本实施例中,在提取到对应的特征值后,将提取到的特征值按照特征结构中的元素的排列方式进行排列,组成一个新的多维数组,这个多维数组就是组装后的数据。

示例地,例如根据19条待预测数据预测某用户对某商品的点击率,则所有的特征的多维数组的数据,最外层都有19个元素,当某一个特征的特征结构为[5,1]时,则按照该特征结构,对这19条待预测数据进行组装。组装后的数据为三维数据,其整体的特征结构为[19,5,1],表示该数组有19个元素,其中每个元素又是一个二维数据,特征结构为[5,1],即该数组中有5个特征值。

在本申请的另一个实施例中,所述方法还包括:

S34:当所述待预测数据的数量超过所述特征结构中规定的数据数量时,对多余的待预测数据进行退回。

本实施例中,特征结构中规定的数据数量,即特征结构中的特征值数量。

本实施例中,在进行特征组装时,当待预测数据的数量超过特征结构中规定的数据数量时,对多余的待预测数据进行退回。

示例地,某个特征的特征结构为[5,1],即需要5个特征值,原始数据一共有19条,则按规则取其中的5条,推掉其余14条数据。

S35:当所述待预测数据的数量不满足所述特征结构中规定的数据数量时,通过预设的缺省值对缺失特征值进行补充。

本实施例中,在进行特征组装时,当待预测数据的数量不满足特征结构中规定的数据数量时,通过预设的缺省值对缺失的特征值进行补充。

示例地,某个特征的特征结构为[5,1],待预测数据有4条,则使用缺省值特征值按照规则补充。

参考图4,图4是本申请一实施例提出的特征组装示意图,图4中的特征名称为gl00001_a_f630019_em的特征,特征结构为[5,8],通过get_latest_datas和limit参数作为规则从原始数据中取值,因为特征结构为[5,8],取的数据条数不大于limit=5,如果不足,利用default补充,可以看到default的值是个以为数组,有8个元素,与shape中的8是一致的。

参考图5,图5是本申请一实施例提出的特征组装样例示意图,图中左侧是特征名称为f300018_em的特征根据shape组装数据后的样例,其shape为[19,8],图中右侧是特征名称为gl00001_a_f630025_em的特征根据shape组装数据后的样例,其shape为[19,5,8]。

在本申请的另一个实施例中,在进行特征组装之前,神经网络中的部分原始特征需要在端上利用算子进行进一步的处理,再进行特征组装,这样做是为了保证该特征能够转化为能够在端上处理的常用特征类型,在神经网络训练完毕之后,对于需要进行处理的特征,进行特征转换标记,在进行特征组装时,当识别到特征名称中包含有特征转换标记的特征时,调用预先编写的算子对该特征进行转换,每个特征类型都有对应的算子,预先编写并存储在端上的存储空间中,在需要时进行调用。

参考图6,图6是本申请一实施例提出的特征转换示意图,如图6所示,在进行特征配置时,“fc_transform”表示该特征需要进行转换,其中的raw_ops字段表示使用什么算子(ops)做转换。这里使用的是HashtableLookup算子。

参考图7,图7是本申请一实施例提出的算子代码示意图,其中包括了两个算子,第一个算子是对稠密性特征的转化算子,第二个算子是对稀疏性特征转化的算子,对于神经网络中的稠密性特征,通过第一个算子进行转化,对于神经网络中的稀疏性特征,通过第二个算子进行转化。

本市实施例中,在用户端上配置了多个算子,均用于将各类型的原始特征转化为端上的通用特征,不限于图中的两个算子。

在本申请的另一个实施例中,所述将所述多条组装后的数据分别进行数据展开,得到多条展开后的数据,包括:

S41:通过预先编写的数据展开函数,遍历所述多条组装后的数据。

本实施例中,预先编写的数据展开函数是递归函数,该递归函数的作用是将多维数据转换为一维数组。

本实施例中,通过调用预先编写的数据展开函数,对多条组装后的数据进行遍历,确定每条组装后的数据的数据结构。

S42:针对所述多条组装后的数据中的每一条组装后的数据,将所述组装后的数据由多维数组展开成为对应的一维数组,得到所述多条展开后的数据。

本实施例中,数据展开函数对多条组装后的数据进行遍历,对于每一条组装后的数据,将该组装后的数据由多维数组数据展开为一维数组数据,得到多条展开后的数据。

参考图8,图8是本申请一实施例提出的展开函数图,其中,array是多维数组,result展平后的一维数组结果。判断当前array是否为多维,当array的第0个元素仍然是个数组类型时,则调用flattenArray(数据展开函数)继续展平,否则,如果array不是多维数组时,添加到result中。

参考图9,图9是本申请一实施例提出的展平前后数据对比图,图中特征名称为gl00001_a_f630020_em的特征在展平前是三维数组,shape=[19,5,8],展平后是一维数组,元素个数有760个=19*5*8。该方法展平后的数据保持了数据内存分配的顺序与预期一致。

本实施例中,对多维数组数据进行了数据展开,将展开后的数据作为神经网络的输入数据,保证了神经网络可以处理任意维度的数据。

在本申请的另一个实施例中,所述根据预先设置的数值类型,对所述多条展开后的数据进行数据转换,得到多条转换后的数据,包括:

S51:确定所述多条展开后的数据的原始数值类型。

本实施例中,数据的原始数值类型是数据本来的数值类型。

本实施例中,当得到多条展开后的数据后,确定每条展开后的数据的原始数值类型,根据数据的值的形式,即可确定每条展开后的数据的原始数值类型。

S52:当所述多条展开后的数据的原始数值类型与所述预先设置的数值类型不同时,将所述多条展开后的数据的数值类型由所述原始数值类型转化为所述预先设置的数据类型,得到所述多条转换后的数据。

本实施例中,当展开后的数据的数值类型与预先设置的数值类型不同时,通过语言转换代码,将多条展开后的数值类型由原始数值类型转化为预先设置的数值类型,得到多条转换后的数据。

参考图10,图10是本申请一实施例提出的数值类型转换示意图,图8中是特征名称为f200004_em的特征展开后的数据,可以看到原始的数值类型为double,与预期的float类型不同,所以需要进行遍历转换。

参考图11,图11是本申请一实施例提出的语言转换代码示意图,运行该代码,可以将数据的数值类型转换为预先设置的数值类型,该代码会遍历展平后的数组,判断数组的数值类型,对每一个数值转换后按照原顺序添加到新的result结果数组并返回。

在本申请的另一个实施例中,针对所述多条转换后的数据中的每条转换后的数据,确定所述转换后的数据的特征结构;

S61:根据所述特征结构,确定所述转换后的数据需要的内存占用量。

本实施例中,内存占用量是转换后的数据在内存中占用的实际容量,每个特征都有预先设置好的特征结构,因为特征结构的不同,数据量也不同,因此需要根据每个特征的特征结构,确定转换后的数据需要的内存占用量。

本实施例中,在获取到转换后的数据之后,需要将转换后的数据输入到神经网络的特征空间中,才能进一步对特征进行处理,根据特征结构,确定转换后的数据中的特征值的数量以及排列方式,进而确定该转换后的数据的内存占用量。

示例地,在实际操作时,调用对应的接口(API),取出该index对应的inputTensor(输入张量),基于真实的特征数据,调用resizeinput(输入调整函数),在神经网络的特征空间中设置特征的实际特征结构(shape),进而确定该特征结构需要的内存占用量。

S62:根据所述内存占用量,向所述移动端申请对应容量的内存空间。

本实施例中,在确定每个特征的内存占用量之后,向移动终端申请对应的容量的内存空间,移动终端在接收到申请之后,为该特征在神经网络的特征空间之中分配对应容量的内存空间,存储接收到的数据。

示例地,调用神经网络的解释器的allocateTensorsAPI(分配张量接口),来向用户终端一次性申请所需内存的大小。

S63:将所述转换后的数据存储至所述内存空间中。

本实施例中,在申请到对应容量的内存空间之后,将转换后的数据存储至该内存空间中。

本实施例中,当神经网络接收到转换后的数据之后,首先是按照数值类型来生成对应的二进制数据。

参考图12,图12是本申请一实施例提出的数据存储代码示意图,图12中是swift语言,其中的代码的作用是确定接收到的数据的数值类型,取出需要存储的特征,即接收到的转换后的数据,再调用copyingBufferOf函数,生成对应的二进制数据。

在生成二进制数据之后,调用解释器对应的接口(API),把二进制数据复制到对应的内存中。

本实施例中,通过上述步骤,完成了从原始数据的组装、展开、数值转换、把特征数据传入模型解释器所做的处理,实现了对各种数值类的通用性支持、对任意维度数组的通用性支持,针对不同的业务场景、不同类型的端智能模型,可以做到高度复用、动态适配,在移动终端上进行机器学习时,不需要再针对各种场景对数据进行针对性处理,只需要使用上述步骤进行通用性处理即可,进而提升了端智能预测任务的速度和准确性。

基于同一发明构思,本申请一实施例提供一种特征处理装置。参考图13,图13是本申请一实施例提出的特征处理装置1300的示意图。如图13所示,该装置包括:

数据接收模块1301,用于接收多条待预测的原始数据;

特征组装模块1302,用于根据预先设置的特征结构,对所述多条待预测的原始数据进行特征组装,得到多条组装后的数据;

数据展开模块1303,用于将所述多条组装后的数据分别进行数据展开,得到多条展开后的数据;

数值类型转换模块1304,用于根据预先设置的数值类型,对所述多条展开后的数据进行数据转换,得到多条转换后的数据;

数据存储模块1305,用于将所述多条转换后的数据输入到移动端上的神经网络的特征空间中。

可选地,所述装置还包括:

特征配置模块,用于当所述神经网络训练完成后,对于所述神经网络中的每个输入特征,设置对应的配置项,所述配置项至少包括:特征结构、数值类型、缺省值。

可选地,所述特征组装模块包括:

特征结构确定子模块,用于确定所述神经网络中的每个特征的特征结构;

特征值提取子模块,用于针对每个所述特征,根据所述特征的特征结构,从所述多条待预测的原始数据中提取对应的特征值;

特征组装子模块,用于将所述特征值按照所述特征结构进行排列,得到所述组装后的数据。

可选地,所述装置还包括:

数据退回子模块,用于当所述待预测数据的数量超过所述特征结构中规定的数据数量时,对多余的待预测数据进行退回;

特征值补充子模块,用于当所述待预测数据的数量不满足所述特征结构中规定的数据数量时,通过预设的缺省值对缺失特征值进行补充。

可选地,所述数据展开模块包括:

数据遍历子模块,用于通过预先编写的数据展开函数,遍历所述多条组装后的数据;

数据展开子模块,用于针对所述多条组装后的数据中的每一条组装后的数据,将所述组装后的数据由多维数组展开成为对应的一维数组,得到所述多条展开后的数据。

可选地,所述数值类型转换模块包括:

原始数值类型确定子模块,用于确定所述多条展开后的数据的原始数值类型;

数值类型转换子模块,用于当所述多条展开后的数据的原始数值类型与所述预先设置的数值类型不同时,将所述多条展开后的数据的数值类型由所述原始数值类型转化为所述预先设置的数值类型,得到所述多条转换后的数据。

可选地,所述数据存储模块包括:

特征结构确定子模块,用于针对所述多条转换后的数据中的每条转换后的数据,确定所述转换后的数据的特征结构;

内存占用量确定子模块,用于根据所述特征结构,确定所述转换后的数据需要的内存占用量;

内存空间申请子模块,用于根据所述内存占用量,向所述移动端申请对应容量的内存空间;

数据存储子模块,用于将所述转换后的数据存储至所述内存空间中。

基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的特征处理方法中的步骤。

基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的特征处理方法中的步骤。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的特征处理方法、装置、设备及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种用于充电桩检测的可控充电负载、车辆
  • 用于对电动车进行充电的充电桩及其可换插头
  • 用于充电桩低损耗、可过载高可靠性箱式变电站
  • 一种用于数据中心低损耗、高可靠性箱式变电站
技术分类

06120116543235