CN110096266B - 一种特征加工方法和装置 - Google Patents

一种特征加工方法和装置 Download PDF

Info

Publication number
CN110096266B
CN110096266B CN201910394125.XA CN201910394125A CN110096266B CN 110096266 B CN110096266 B CN 110096266B CN 201910394125 A CN201910394125 A CN 201910394125A CN 110096266 B CN110096266 B CN 110096266B
Authority
CN
China
Prior art keywords
target
feature
code
processing mode
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910394125.XA
Other languages
English (en)
Other versions
CN110096266A (zh
Inventor
潘丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Du Xiaoman Technology Beijing Co Ltd
Original Assignee
Du Xiaoman Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Du Xiaoman Technology Beijing Co Ltd filed Critical Du Xiaoman Technology Beijing Co Ltd
Priority to CN201910394125.XA priority Critical patent/CN110096266B/zh
Publication of CN110096266A publication Critical patent/CN110096266A/zh
Application granted granted Critical
Publication of CN110096266B publication Critical patent/CN110096266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Abstract

本申请实施例公开了一种特征加工方法及装置,预先设置多个对应于不同加工方式的代码模板,每个代码模板对应于一个加工方式,每个代码模板包括对应的加工方式的固定代码,所述方法包括:获取待加工特征对应的目标加工方式和应用于目标加工方式的参数;确定目标加工方式对应的目标代码模板;根据目标代码模板对应的固定代码和参数,生成用于实现目标加工方式的目标代码片段。可见,用户仅需选择待加工特征对应的目标加工方式,以及设置应用于目标加工方式的参数,而无需去理解该目标加工方式的运算逻辑以及编写代码,即可生成用于为待加工特征实现目标加工方式的目标代码片段,从而提升了获得代码的效率,保证了特征加工的进度。

Description

一种特征加工方法和装置
技术领域
本申请涉及数据处理领域,特别是涉及一种特征加工方法和装置。
背景技术
特征可以是一个客体或者一组客体特性的抽象结果,比如特征可以为“年龄”、“访问用户数”等。由于一些特征无法更为直观的体现客体的特性,因此可以对这些特征进行加工,以得到一个能够更为直观的体现客体特性的特征,比如:作为衡量网站是否活跃的“访问用户数”的特征,可以将该特征按照时间维度,如“日”、“月”进行加工后,以得到关于该网站的新的特征,即:“日访问用户数”、“月访问用户数”,从而可以根据该加工后的特征来衡量网站的活跃度。也就是说,可以将特征A等特征通过如加、减等运算方式进行加工,以得到特征B,而该过程可以记为特征加工的过程。其中,对于为特征A等特征进行的如加、减等的运算方式,可以记为对特征的加工方式。
实际场景中,用户通常需要对一些特征进行较为复杂的加工,比如:先对特征进行统计分析,再根据统计分析结果对特征进行相应的运算等。其中,对特征通过复杂加工方式进行加工,通常是由用户编写相关的运算代码,从而通过运行该编写的运算代码得以实现。
目前,当不同的用户在面临一些较为常用且复杂的加工方式时,在他们编写代码的过程中,仍需要各自花费大量时间及精力去理解这些复杂加工方式的运算逻辑,以及需要各自编写这部分加工方式的相关运算代码,由此,对于这种包括有复杂加工方式的特征加工方法,对其进行代码编写的效率较低,进而影响了特征加工的进度。
发明内容
为了解决上述技术问题,本申请提供了一种特征加工方法和装置,提升了获得代码的效率,保证了特征加工的进度。
本申请实施例公开了如下技术方案:
本申请实施例提供了一种特征加工方法,预先设置多个对应于不同加工方式的代码模板,其中,每个代码模板对应于一个加工方式,每个代码模板包括对应的加工方式的固定代码,所述方法包括:
获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数;
确定所述目标加工方式对应的目标代码模板;
根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。
可选的,若所述目标加工方式中包括与所述待加工特征的数据通过统计方式计算得到的统计结果的运算,则,所述参数包括对所述待加工特征的数据通过所述统计方式计算得到的统计结果。
可选的,所述统计结果包括最大值、最小值、平均值、标准差或者覆盖率中的一个或多个。
可选的,在所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数之后,所述方法还包括:
根据所述目标加工方式和所述参数,编码成目标字符串;
对所述目标字符串进行解析,生成类对象的成员变量,所述类对象的成员变量包括所述目标加工方式的变量和所述参数的变量;
则,所述确定所述目标加工方式对应的目标代码模板,包括:
根据所述目标加工方式的变量,确定所述目标加工方式对应的目标代码模板;
所述根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段,包括:
根据所述参数的变量,生成所述目标代码模板对应的固定代码的可装配参数;
根据所述目标代码模板对应的固定代码和所述目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段。
可选的,所述方法还包括:
将所述目标代码片段添加至对应的上下文代码片段中,生成目标特征加工代码;
若目标特征包括最终加工特征,将所述目标特征加工代码确定为最终特征加工代码,将所述最终特征加工代码发送至服务器集群中运行;所述目标特征包括应用所述目标加工方式得到的特征,所述最终加工特征包括所述特征加工方法的最终目标特征;
若所述目标特征不包括最终加工特征,将所述目标特征加工代码确定为所述上下文代码片段,执行所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数的步骤,直至所述目标特征包括所述最终加工特征。
可选的,所述加工方式包括最大最小标准化运算、证据权重woe运算或者零均值z-score标准化运算中的一种或多种。
本申请实施例提供了一种特征加工装置,所述装置包括代码模板模块、获取模块、第一确定模块和第一生成模块:
所述代码模板模块,用于预先设置多个对应于不同加工方式的代码模板,其中,每个代码模板对应于一个加工方式,每个代码模板包括对应的加工方式的固定代码;
所述获取模块,用于获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数;
所述第一确定模块,用于确定所述目标加工方式对应的目标代码模板;
所述第一生成模块,用于根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。
可选的,若所述目标加工方式中包括与所述待加工特征的数据通过统计方式计算得到的统计结果的运算,则,所述参数包括对所述待加工特征的数据通过所述统计方式计算得到的统计结果。
可选的,所述统计结果包括最大值、最小值、平均值、标准差或者覆盖率中的一个或多个。
可选的,所述装置还包括编码模块和第二生成模块:
所述编码模块,用于在所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数之后,根据所述目标加工方式和所述参数,编码成目标字符串;
所述第二生成模块,用于对所述目标字符串进行解析,生成类对象的成员变量,所述类对象的成员变量包括所述目标加工方式的变量和所述参数的变量;
则,所述第一确定模块,具体用于根据所述目标加工方式的变量,确定所述目标加工方式对应的目标代码模板;
所述第一生成模块,包括第一生成子模块和第二生成子模块:
所述第一生成子模块,用于根据所述参数的变量,生成所述目标代码模板对应的固定代码的可装配参数;
所述第二生成子模块,用于根据所述目标代码模板对应的固定代码和所述目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段。
可选的,其特征在于,所述装置还包括第三生成模块、第二确定模块和第三确定模块:
所述第三生成模块,用于将所述目标代码片段添加至对应的上下文代码片段中,生成目标特征加工代码;
所述第二确定模块,用于若目标特征包括最终加工特征,将所述目标特征加工代码确定为最终特征加工代码,将所述最终特征加工代码发送至服务器集群中运行;所述目标特征包括应用所述目标加工方式得到的特征,所述最终加工特征包括所述特征加工方法的最终目标特征;
所述第三确定模块,用于若所述目标特征不包括最终加工特征,将所述目标特征加工代码确定为所述上下文代码片段,执行所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数的步骤,直至所述目标特征包括所述最终加工特征。
可选的,所述加工方式包括最大最小标准化运算、证据权重woe运算或者零均值z-score标准化运算中的一种或多种。
由上述技术方案可以看出,针对于一些较为常用且复杂的加工方式,可以为每种加工方式预先设置有与之对应的代码模板,其中,该代码模板中可以包括有对应于所述加工方式的固定代码,这里所述的固定代码可以是实现所述加工方式的固定不变的代码部分。而对于实现所述加工方式的可变代码部分,可以根据用户所配置的应用于所述目标加工方式的参数得到,这样,当需要为待加工特征通过某种加工方式进行加工时,可以直接从预设的加工方式中确定出待加工特征对应的目标加工方式,以及添加应用所述目标加工方式所需的参数。从而,在获取目标加工方式和对应的参数之后,可以相应的确定出目标加工方式对应的目标代码模板,从而根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。由此,用户仅需选择待加工特征对应的目标加工方式,以及设置应用于所述目标加工方式的参数,而无需去理解该目标加工方式的运算逻辑以及编写代码,即可生成用于为所述待加工特征实现所述目标加工方式的目标代码片段,从而提升了获得代码的效率,保证了特征加工的进度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种特征加工方法的应用场景示意图;
图2为本申请实施例提供的一种特征加工方法的流程示意图;
图3为本申请实施例提供的一种为待加工特征的数据通过最大值和最小值统计方式进行统计分析的过程示意图;
图4为本申请实施例提供的一种特征加工方法流程图;
图5为本申请实施例提供的一种目标字符串的示意图;
图6为本申请实施例提供的一种生成最终特征加工代码的方法流程图;
图7为本申请实施例提供的一种目标特征加工代码的示意图;
图8(a)为本申请实施例提供的一种生成的目标特征加工代码b”的示意图;
图8(b)为本申请实施例提供的一种生成的目标特征加工代码c”的示意图;
图9为本申请实施例提供的一种特征加工装置结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
目前,当不同的用户在面临一些较为常用且复杂的加工方式时,他们需要各自花费大量时间及精力去理解这些复杂加工方式的运算逻辑,以及各自编写这部分加工方式的运算代码,从而降低了代码编写的效率,影响了特征加工的进度。
为此,本申请实施例提供了一种特征加工方法,使得用户仅需选择待加工特征对应的目标加工方式,以及设置应用于所述目标加工方式的参数,即可生成用于实现目标加工方式的目标代码片段,从而提升了获得代码的效率,保证了特征加工的进度。
首先,对本申请实施例的应用场景进行介绍。本申请实施例所提供的特征加工方法可以应用于数据处理设备,例如可以是终端设备或服务器。
当数据处理设备为终端设备时,终端设备具体可以为智能手机、计算机、个人数字助理(Personal Digital Assistant,PDA)、平板电脑等。
在一些情况下应用场景中除了终端设备,还可以包括服务器,服务器可以获取来自终端设备的待加工特征对应的目标加工方式和应用于所述目标加工方式的参数,以便由服务器执行本申请实施例提供的特征加工方法,并将生成的用于实现所述目标加工方式的目标代码片段返回给终端设备。其中,服务器可以为独立服务器,也可以为集群服务器。需要说明的是,为了便于介绍,后续将以终端设备为执行主体为例对本申请实施例提供的特征加工方法进行介绍。
为了便于理解本申请的技术方案,下面结合实际应用场景,以服务器为例对本申请实施例提供的特征加工方法进行介绍。
参见图1,该图示出了本申请实施例提供的一种特征加工方法的应用场景示意图,该应用场景中包括服务器101,该服务器101中可以包括有预先设置的多个对应于不同加工方式的代码模板,其中,每个代码模板可以对应于一个加工方式,每个代码模板中可以包括有对应的加工方式的固定代码。
需要说明,这里所述的加工方式可以为对待加工特征进行加工的方式,比如加工方式可以为,对待加工特征A,通过乘以2的加工方式,得到新的特征B,其中,B=2A。
在本申请实施例中,针对于一些较为常用且复杂的加工方式,可以为每种加工方式预先设置有与之对应的代码模板,其中,该代码模板中可以包括有对应于所述加工方式的固定代码,这里所述的固定代码可以是实现所述加工方式的固定不变的代码部分,可以将这些预设的对应于不同加工方式的代码模板保存至服务器101中。其中,每个代码模板中可以包括有对应于所述加工方式的固定代码。而对于实现所述加工方式的可变代码部分,可以根据用户所配置的应用于所述目标加工方式的参数得到。其中,这里所述的参数可以是关于为所述待加工特征应用所述目标加工方式的参数,比如所述参数包括所述待加工特征的名称,这样就可以确定出所述目标加工方式所需输入的特征的数据。
当需要为待加工特征通过某种加工方式进行加工时,可以直接从预设的加工方式中确定出为待加工特征进行加工的目标加工方式,以及添加为所述待加工特征应用所述目标加工方式所需的参数。从而,服务器101在获取目标加工方式和对应的参数之后,可以相应的确定出目标加工方式对应的目标代码模板,从而根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。
由此,用户仅需选择待加工特征对应的目标加工方式,以及设置应用于所述目标加工方式的参数,而无需去理解该目标加工方式的运算逻辑以及编写代码,即可生成用于为所述待加工特征实现所述目标加工方式的目标代码片段,从而提升了获得代码的效率,保证了特征加工的进度。
在执行本申请实施例提供的特征加工方法之前,可以为不同的加工方式预先设置有相应的代码模板,比如为一些较为常用且复杂的加工方式,预设相应的代码模板。其中,每个代码模板可以对应于一个加工方式,且每个代码模板包括对应的加工方式的固定代码。
需要说明,本申请实施例不限定预设代码模板的加工方式的种类,也就是说,可以预先为任意的加工方式,设置相应的代码模板。在实际场景中,可以根据具体情形,为所需的加工方式预设代码模板。在一种可能的实现方式中,比如可以针对如下的较为常用且复杂的加工方式,为这些加工方式中的一种或多种加工方式预先设置代码模板,所述加工方式可以包括:最大最小标准化运算、证据权重woe运算或者零均值z-score标准化运算。
最大最小标准化运算也可以被记为离散标准化,它可以是一种对原始数据进行线性变换,以将这些原始数据映射至[0,1]区间内的运算方式。其所对应的运算公式可以为x'=(x-xmin)/(xmax-xmin)。
证据权重(Weight of Evidence,WOE)运算可以是一种对原始数据进行编码的运算方式。
零均值z-score标准化运算也可以被记为标准差标准化运算,它可以是一种对原始数据经过运算,以使得这些数据的均值为0,标准差为1的一种运算方式,其所对应的运算公式可以为x'=(x-μ)/δ,这里所述的μ可以表示为数据的均值,这里所述的δ可以表示为数据的标准差。
在为加工方式预先设置相应的代码模板之后,接下来结合图2说明本申请实施例提供的特征加工方法,所述方法包括:
S201:获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数。
当用户希望为待加工特征通过某种加工方式进行加工时,可以直接从预设的加工方式中确定出为待加工特征进行加工的目标加工方式,以及添加为所述待加工特征应用所述目标加工方式所需的参数。
这里所述的待加工特征可以是用户希望对其进行加工的特征,比如当用户希望对“年龄”这一特征进行加工时,“年龄”这一特征即可以为待加工特征。
另外,所述目标加工方式可以是希望对待加工特征进行加工的加工方式,比如:当用户希望对“年龄”这一特征通过最大最小标准化运算这一加工方式进行加工时,则最大最小标准化这一加工方式运算即可以为目标加工方式。
当用户在预设的加工方式中确定出为待加工特征进行加工的目标加工方式,以及添加为所述待加工特征应用所述目标加工方式所需的参数之后,服务器101可以获取该目标加工方式和参数。
S202:确定所述目标加工方式对应的目标代码模板。
由于预设的代码模板与加工方式一一对应,则,服务器101在获取到目标加工方式之后,可以由此确定出所述目标加工方式对应的目标代码模板。例如:可以根据最大最小标准化运算这一加工方式,确定出最大最小标准化加工方式对应的目标代码模板。
S203:根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。
综上,针对于一些较为常用且复杂的加工方式,可以为每种加工方式预先设置有与之对应的代码模板,其中,该代码模板中可以包括有对应于所述加工方式的固定代码,这里所述的固定代码可以是实现所述加工方式的固定不变的代码部分。而对于实现所述加工方式的可变代码部分,可以根据用户所配置的应用于所述目标加工方式的参数得到,这样,当需要为待加工特征通过某种加工方式进行加工时,可以直接从预设的加工方式中确定出待加工特征对应的目标加工方式,以及添加应用所述目标加工方式所需的参数。从而,在获取目标加工方式和对应的参数之后,可以相应的确定出目标加工方式对应的目标代码模板,从而根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。由此,用户仅需选择待加工特征对应的目标加工方式,以及设置应用于所述目标加工方式的参数,而无需去理解该目标加工方式的运算逻辑以及编写代码,即可生成用于为所述待加工特征实现所述目标加工方式的目标代码片段,从而提升了获得代码的效率,保证了特征加工的进度。
进一步的,用户在为待加工特征生成相应的目标代码片段的过程中,仅需配置相应的参数,而无需改变代码模板中的固定代码,由此可以降低维护成本。
而且,本申请实施例提供的特征加工方法,所对应生成的目标代码片段可以是计算机程序设计语言(python)代码,该代码可以在任意的引擎下运行。另外,当待加工特征的数据量庞大,尤其是超过单机处理的最大限度时,可以将生成的python代码分发至任意的集群中实现并行处理,从而提升待加工特征数据的运算处理效率。
可以理解,在一些加工方式中,可能会包括有与待加工特征数据的统计结果的运算,这里所述的统计结果比如可以是对待加工特征的数据通过某一种或多种统计方式计算得到的统计结果,例如:对于最大最小标准化运算这一加工方式,其中包括有与待加工特征数据进行最大值运算得到的最大值xmax和进行最小值运算得到的最小值xmin的运算,需要说明,这里所述的最大值运算、最小值运算可以是一种统计方式。如果这样的加工方式作为目标加工方式,则可以将所需的、对待加工特征数据通过所述一种或多种统计方式计算得到的统计结果添加至所述参数中。比如:将最大最小标准化运算作为目标加工方式时,可以将对待加工特征数据进行最大值运算得到的最大值xmax和最小值运算得到的最小值xmin添加至参数中。
在具体实现中,对于待加工特征数据的统计结果,比如可以是在执行本申请实施例提供的特征加工方法之前,通过相应的统计方式获得的,举例说明,针对于最大最小标准化运算,其中包括有与待加工特征数据最大值和最小值的运算,则,参见图3,该图示出了本申请实施例提供的一种为待加工特征的数据通过最大值和最小值统计方式进行统计分析的过程示意图,如图3所示,在进行S201之前,对于“年龄”这一待加工特征,可以对它的数据通过最大值和最小值的统计方式进行统计分析,以得到该“年龄”这一待加工特征数据的最大值50和最小值10,从而在进行S201时将其添加至参数中。
在一种可能的实现方式中,还可以预先对待加工特征通过相应的统计方式进行统计分析,以得到比如包括最大值、最小值、平均值、标准差或者覆盖率中的一个或多个的统计结果。这样,当目标加工方式中包括与待加工特征数据的这些统计结果中的一个或多个进行运算时,则可以直接将所需的统计结果添加至参数中,从而提高效率。
在一种可能的实现方式中,在进行S201之后,参见图4,该图示出了本申请实施例提供的一种特征加工方法流程图,所述方法还包括:
S401:根据所述目标加工方式和所述参数,编码成目标字符串。
在本申请实施例中,可以将获取的目标加工方式和参数,编码成为目标字符串,这里所述的目标字符串可以是为了便于机器识别的字符串,比如编码生成的目标字符串可以为对象简谱(JavaScript Object Notation,JSON)字符串。
为了便于对本申请实施例的理解,接下来进行举例说明。
假设用户选择了“年龄(age)”作为待加工特征,以最大最小标准化(minmax)运算作为目标加工方式,其公式对应于:x'=(x-xmin)/(xmax-xmin),需要说明:在为“年龄”这一待加工特征通过最大最小标准化运算进行加工时,公式中的“x”可以对应于该“年龄”特征的每一个数据;公式中的“x'”可以是为“年龄”这一待加工特征通过最大最小标准化运算进行加工后得到的特征。在本申请实施例中,为了便于区分待加工特征、和为待加工特征通过目标加工方式加工后所得的新的特征,可以将为待加工特征通过目标加工方式加工后所得的新的特征记为目标特征。
那么,比如所添加的参数中可以包括有“年龄(age)”这一待加工特征的名称;对“年龄(age)”这一待加工特征通过目标加工方式生成的目标特征名称“年龄_最大最小标准化(age_minmax)”;以及根据“年龄(age)”这一待加工特征得到的最大值“50”和最小值“10”。
参见图5,该图示出了本申请实施例提供的一种目标字符串的示意图。如图5所示,该JSON字符串中的“minmax”可以表示为最大最小标准化运算这一目标加工方式;“age_minmax”可以表示为通过目标加工方式生成的目标特征名称;“age”可以待加工特征名称;“50”和“10”可以分别表示为对“年龄(age)”这一待加工特征进行统计分析得到的最大值和最小值。
S402:对所述目标字符串进行解析,生成类对象的成员变量,所述类对象的成员变量包括所述目标加工方式的变量和所述参数的变量。
在生成目标字符串之后,可以将该目标字符串进行解析,以生成类对象的成员变量,其中,类对象的成员变量中可以包括目标加工方式的对象和参数的变量,由此,在进行S203之前,即进行了对目标字符串的解析,从而可以在生成目标代码片段时便于对各个变量的隔离,且仅需关注各个变量的执行逻辑。
举例说明:对如图6所示的目标字符串进行解析,将目标字符串中的目标加工方式“minmax”赋值至类对象的成员变量中的“outputOper”字段;将目标字符串中的最小值“10”赋值至类对象的成员变量中的“outputMin”字段;将目标字符串中的最大值“50”赋值至类对象的成员变量中的“outputMax”字段;将目标字符串中的目标特征名称“age_minmax”赋值至类对象的成员变量中的“outputOperName”字段;将目标字符串中的待加工特征名称“age”赋值至类对象的成员变量中的“outputOperSrcFieldName”字段,以生成类对象的成员变量,生成的类对象的成员变量比如可以如下所示:
S403:根据所述目标加工方式的变量,确定所述目标加工方式对应的目标代码模板。
接下来,根据目标加工方式的变量,确定所述目标加工方式对应的目标代码模板。例如:根据最大最小标准化运算这一目标加工方式,确定出最大最小标准化运算这一目标加工方式所对应的目标代码模板。
S404:根据所述参数的变量,生成所述目标代码模板对应的固定代码的可装配参数。
根据参数的变量,生成所述目标代码模板对应的固定代码的可装配参数。例如:对于最大最小标准化运算这一目标加工方式,将S502中的类对象成员变量“tplOper.getOutputName”设置到“name”可装配参数中;类对象成员变量“tplOper.getOutputSrcFieldName”设置到“srcFieldName”可装配参数中;类对象成员变量“tplOper.getOutputMin”设置到“min”可装配参数中;类对象成员变量“tplOper.getOutputMax”设置到“max”可装配参数中,生成的与之对应的目标代码模板对应的固定代码的可装配参数,比如可以如下所示:
param.put(“name”,tplOper.getOutputName());
param.put(“srcFieldName”,tplOper.getOutputSrcFieldName());
param.put(“min”,tplOper.getOutputMin());
param.put(“max”,tplOper.getOutputMax());
S405:根据所述目标代码模板对应的固定代码和所述目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段。
由此,则可以根据目标代码模板对应的固定代码和目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段。
例如:对于最大最小标准化运算这一目标加工方式,对之对应的目标代码模板所对应的固定代码可以如下所示:
在本申请实施例中,在为目标加工方式生成相应的目标代码片段之后,在一种可能的实现方式中,参见图6,该图示出了本申请实施例提供的一种生成最终特征加工代码的方法流程图,所述方法还包括:
S601:将所述目标代码片段添加至对应的上下文代码片段中,生成目标特征加工代码。
这里所述的上下文代码片段可以是对应于所述目标代码片段的、且用于连接目标代码片段的不变的代码片段。
在本申请实施例中,可以将生成的目标代码片段添加至对应的上下文代码片段中,以生成目标特征加工代码。
例如:将生成的对应于最大最小标准化这个目标加工方式的目标代码片段,添加至与之对应的上下文片段之后,生成了目标特征加工代码。参见图7,该图示出了本申请实施例提供的一种目标特征加工代码的示意图。如图7所示,其中的黑色代码部分可以是上下文代码片段,其中的灰色代码目标可以是目标代码片段。
S602:若目标特征包括最终加工特征,将所述目标特征加工代码确定为最终特征加工代码,将所述最终特征加工代码发送至服务器集群中运行;所述目标特征包括应用所述目标加工方式得到的特征,所述最终加工特征包括所述特征加工方法的最终目标特征。
其中,这里所述的目标特征可以是为待加工特征通过目标加工方式进行加工后得到的特征;最终目标特征可以是用户希望通过所述特征加工方法得到的特征。举例说明,用户希望针对于特征A,通过特征加工方法得到特征C,则所述特征加工方法比如可以包括,将特征A作为待加工特征,将加工方式X作为目标加工方式,并通过目标加工方式X对待加工特征A进行加工,以得到特征B,则该特征B可以为将待加工特征A通过目标加工方式X进行加工后得到的目标特征。接下来,用户比如可以将目标特征B作为待加工特征,将加工方式Y作为目标加工方式,并通过目标加工方式Y对待加工特征B进行加工,以得到特征C,所述特征C可以是将待加工特征B通过目标加工方式Y进行加工后得到的目标特征,且特征C为用户希望通过特征加工方法得到的特征,则特征C即可以为最终目标特征。
需要说明,若得到的目标特征包括最终加工特征,可以将所述目标特征加工代码确定为最终特征加工代码,并将最终特征加工代码发送至服务器集群中运行。其中,最终特征加工代码可以是能够实现生成最终目标特征的代码文件。
S603:若所述目标特征不包括最终加工特征,将所述目标特征加工代码确定为所述上下文代码片段,执行所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数的步骤,直至所述目标特征包括所述最终加工特征。
若所述目标特征不包括最终加工特征,则可以将当前生成的目标特征加工代码确定为所述上下文代码片段,执行S201的步骤,直至所述目标特征包括所述最终加工特征。例如:基于前述示例,假设用户将特征A作为待加工特征,将加工方式X作为目标加工方式,并通过目标加工方式X对待加工特征A进行加工,得到特征B时,生成了目标代码片段b,并将其添加至对应的上下文片段b’中,从而生成目标特征加工代码b”。参见图8(a),该图示出了本申请实施例提供的一种生成的目标特征加工代码b”的示意图,其中,图8(a)中所示的灰色代码部分可以为目标代码片段b,图8(a)中所示的黑色代码部分可以为上下文片段b’,图8(a)中所示的黑色代码部分和灰色代码部分组成目标特征加工代码b”。
由于当前的目标特征B中不包括最终加工特征C,则,用户可以将如图8(a)所示的目标特征加工代码b”作为新的上下文代码片段c’,并将目标特征B作为待加工特征,将加工方式Y作为目标加工方式,从而执行S201的步骤,生成目标代码片段c,并将目标代码片段c添加至上下文代码片段c’中,以生成新的目标特征加工代码c”。由于当前的目标特征C即为最终加工特征C,则,可以将所述目标特征加工代码c”确定为最终特征加工代码,并将最终特征加工代码发送至服务器集群中运行。参见图8(b),该图示出了本申请实施例提供的一种生成的目标特征加工代码c”的示意图,其中,图8(b)中所示的灰色代码部分可以为目标代码片段c,图8(b)中所示的黑色代码部分可以为上下文片段c’,图8(b)中所示的黑色代码部分和灰色代码部分组成目标特征加工代码c”。
由此,即可以生成用户所需的特征加工方法的代码文件,很大程度提升了用户的编码效率,保证了特征加工的进度。
基于前述实施例提供的一种特征加工方法,本申请实施例还提供一种特征加工装置,所述装置包括代码模板模块901、获取模块902、第一确定模块903和第一生成模块904:
所述代码模板模块901,用于预先设置多个对应于不同加工方式的代码模板,其中,每个代码模板对应于一个加工方式,每个代码模板包括对应的加工方式的固定代码;
所述获取模块902,用于获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数;
所述第一确定模块903,用于确定所述目标加工方式对应的目标代码模板;
所述第一生成模块904,用于根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。
在一种可能的实现方式中,若所述目标加工方式中包括与所述待加工特征的数据通过统计方式计算得到的统计结果的运算,则,所述参数包括对所述待加工特征的数据通过所述统计方式计算得到的统计结果。
在一种可能的实现方式中,所述统计结果包括最大值、最小值、平均值、标准差或者覆盖率中的一个或多个。
在一种可能的实现方式中,所述装置还包括编码模块和第二生成模块:
所述编码模块,用于在所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数之后,根据所述目标加工方式和所述参数,编码成目标字符串;
所述第二生成模块,用于对所述目标字符串进行解析,生成类对象的成员变量,所述类对象的成员变量包括所述目标加工方式的变量和所述参数的变量;
则,所述第一确定模块903,具体用于根据所述目标加工方式的变量,确定所述目标加工方式对应的目标代码模板;
所述第一生成模块904,包括第一生成子模块和第二生成子模块:
所述第一生成子模块,用于根据所述参数的变量,生成所述目标代码模板对应的固定代码的可装配参数;
所述第二生成子模块,用于根据所述目标代码模板对应的固定代码和所述目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段。
在一种可能的实现方式中,所述装置还包括第三生成模块、第二确定模块和第三确定模块:
所述第三生成模块,用于将所述目标代码片段添加至对应的上下文代码片段中,生成目标特征加工代码;
所述第二确定模块,用于若目标特征包括最终加工特征,将所述目标特征加工代码确定为最终特征加工代码,将所述最终特征加工代码发送至服务器集群中运行;所述目标特征包括应用所述目标加工方式得到的特征,所述最终加工特征包括所述特征加工方法的最终目标特征;
所述第三确定模块,用于若所述目标特征不包括最终加工特征,将所述目标特征加工代码确定为所述上下文代码片段,执行所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数的步骤,直至所述目标特征包括所述最终加工特征。
在一种可能的实现方式中,所述加工方式包括最大最小标准化运算、证据权重woe运算或者零均值z-score标准化运算中的一种或多种。
综上,针对于一些较为常用且复杂的加工方式,可以为每种加工方式预先设置有与之对应的代码模板,其中,该代码模板中可以包括有对应于所述加工方式的固定代码,这里所述的固定代码可以是实现所述加工方式的固定不变的代码部分。而对于实现所述加工方式的可变代码部分,可以根据用户所配置的应用于所述目标加工方式的参数得到,这样,当需要为待加工特征通过某种加工方式进行加工时,可以直接从预设的加工方式中确定出待加工特征对应的目标加工方式,以及添加应用所述目标加工方式所需的参数。从而,在获取目标加工方式和对应的参数之后,可以相应的确定出目标加工方式对应的目标代码模板,从而根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。由此,用户仅需选择待加工特征对应的目标加工方式,以及设置应用于所述目标加工方式的参数,而无需去理解该目标加工方式的运算逻辑以及编写代码,即可生成用于为所述待加工特征实现所述目标加工方式的目标代码片段,从而提升了获得代码的效率,保证了特征加工的进度。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (2)

1.一种特征加工方法,其特征在于,预先设置多个对应于不同加工方式的代码模板,其中,每个代码模板对应于一个加工方式,每个代码模板包括对应的加工方式的固定代码,所述加工方式包括最大最小标准化运算、证据权重woe运算或者零均值z-score标准化运算中的一种或多种;
所述方法包括:
获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数;所述目标加工方式为所述待加工方式中的任意一种或多种;所述目标加工方式中包括与所述待加工特征的数据通过统计方式计算得到的统计结果的运算;所述参数包括对所述待加工特征的数据通过所述统计方式计算得到的统计结果;所述统计结果包括最大值、最小值、平均值、标准差或者覆盖率中的一个或多个;
根据所述目标加工方式和所述参数,编码成目标字符串;
对所述目标字符串进行解析,生成类对象的成员变量,所述类对象的成员变量包括所述目标加工方式的变量和所述参数的变量;
确定所述目标加工方式对应的目标代码模板,包括:根据所述目标加工方式的变量,确定所述目标加工方式对应的目标代码模板;
根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段,包括:根据所述参数的变量,生成所述目标代码模板对应的固定代码的可装配参数;根据所述目标代码模板对应的固定代码和所述目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段;
将所述目标代码片段添加至对应的上下文代码片段中,生成目标特征加工代码;
若目标特征包括最终加工特征,将所述目标特征加工代码确定为最终特征加工代码,将所述最终特征加工代码发送至服务器集群中运行;所述目标特征包括应用所述目标加工方式得到的特征,所述最终加工特征包括所述特征加工方法的最终目标特征;
若所述目标特征不包括最终加工特征,将所述目标特征加工代码确定为所述上下文代码片段,执行所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数的步骤,直至所述目标特征包括所述最终加工特征。
2.一种特征加工装置,其特征在于,所述装置包括代码模板模块、获取模块、第一确定模块、第一生成模块、编码模块、第二生成模块、第三生成模块、第二确定模块和第三确定模块:
所述代码模板模块,用于预先设置多个对应于不同加工方式的代码模板,其中,每个代码模板对应于一个加工方式,每个代码模板包括对应的加工方式的固定代码;所述加工方式包括最大最小标准化运算、证据权重woe运算或者零均值z-score标准化运算中的一种或多种;所述获取模块,用于获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数;所述目标加工方式为所述待加工方式中的任意一种或多种;所述目标加工方式中包括与所述待加工特征的数据通过统计方式计算得到的统计结果的运算;所述参数包括对所述待加工特征的数据通过所述统计方式计算得到的统计结果;所述统计结果包括最大值、最小值、平均值、标准差或者覆盖率中的一个或多个;
所述编码模块,用于在所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数之后,根据所述目标加工方式和所述参数,编码成目标字符串;
所述第二生成模块,用于对所述目标字符串进行解析,生成类对象的成员变量,所述类对象的成员变量包括所述目标加工方式的变量和所述参数的变量;
所述第一确定模块,用于确定所述目标加工方式对应的目标代码模板;所述第一确定模块,具体用于根据所述目标加工方式的变量,确定所述目标加工方式对应的目标代码模板;
所述第一生成模块,用于根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段;
所述第一生成模块,包括第一生成子模块和第二生成子模块:
所述第一生成子模块,用于根据所述参数的变量,生成所述目标代码模板对应的固定代码的可装配参数;
所述第二生成子模块,用于根据所述目标代码模板对应的固定代码和所述目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段;
所述第三生成模块,用于将所述目标代码片段添加至对应的上下文代码片段中,生成目标特征加工代码;
所述第二确定模块,用于若目标特征包括最终加工特征,将所述目标特征加工代码确定为最终特征加工代码,将所述最终特征加工代码发送至服务器集群中运行;所述目标特征包括应用所述目标加工方式得到的特征,所述最终加工特征包括特征加工的最终目标特征;
所述第三确定模块,用于若所述目标特征不包括最终加工特征,将所述目标特征加工代码确定为所述上下文代码片段,执行所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数的步骤,直至所述目标特征包括所述最终加工特征。
CN201910394125.XA 2019-05-13 2019-05-13 一种特征加工方法和装置 Active CN110096266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910394125.XA CN110096266B (zh) 2019-05-13 2019-05-13 一种特征加工方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910394125.XA CN110096266B (zh) 2019-05-13 2019-05-13 一种特征加工方法和装置

Publications (2)

Publication Number Publication Date
CN110096266A CN110096266A (zh) 2019-08-06
CN110096266B true CN110096266B (zh) 2023-12-22

Family

ID=67447896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910394125.XA Active CN110096266B (zh) 2019-05-13 2019-05-13 一种特征加工方法和装置

Country Status (1)

Country Link
CN (1) CN110096266B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535737B (zh) * 2021-09-15 2022-03-01 北京搜狐新媒体信息技术有限公司 特征的生成方法、装置、电子设备及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置
CN104267967A (zh) * 2014-10-15 2015-01-07 北京国双科技有限公司 软件的程序代码的生成方法及装置
CN107247906A (zh) * 2017-06-30 2017-10-13 武汉斗鱼网络科技有限公司 一种用于数据的加密方法及装置
CN107426148A (zh) * 2017-03-30 2017-12-01 成都优易数据有限公司 一种基于运行环境特征识别的反爬虫方法及系统
CN108345456A (zh) * 2018-03-07 2018-07-31 平安普惠企业管理有限公司 页面代码生成方法、装置、计算机设备和存储介质
CN109491652A (zh) * 2018-09-25 2019-03-19 珠海格力电器股份有限公司 程序代码文件的生成方法和装置、电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8739150B2 (en) * 2010-05-28 2014-05-27 Smartshift Gmbh Systems and methods for dynamically replacing code objects via conditional pattern templates
US20160357519A1 (en) * 2015-06-05 2016-12-08 Microsoft Technology Licensing, Llc Natural Language Engine for Coding and Debugging
US10078628B2 (en) * 2015-10-22 2018-09-18 Hrb Innovations, Inc. Annotation-based dependency calculations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置
CN104267967A (zh) * 2014-10-15 2015-01-07 北京国双科技有限公司 软件的程序代码的生成方法及装置
CN107426148A (zh) * 2017-03-30 2017-12-01 成都优易数据有限公司 一种基于运行环境特征识别的反爬虫方法及系统
CN107247906A (zh) * 2017-06-30 2017-10-13 武汉斗鱼网络科技有限公司 一种用于数据的加密方法及装置
CN108345456A (zh) * 2018-03-07 2018-07-31 平安普惠企业管理有限公司 页面代码生成方法、装置、计算机设备和存储介质
CN109491652A (zh) * 2018-09-25 2019-03-19 珠海格力电器股份有限公司 程序代码文件的生成方法和装置、电子设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A fast hierarchical motion-compensation scheme for video coding using block feature matching;XiaoBing Lee 等;IEEE;627-635 *
基于FreeMarker的企业Web应用代码生成器研究;林钰杰等;《信息技术》;20160925(第09期);第111-114,118页 *
基于模板的.Net三层架构的代码自动生成;刘于新等;《计算机技术与发展》;20120810(第08期);第19-22页 *
面向对象的动态聚类分析计算类模板;殷溪源 等;云南大学学报(自然科学版);68-72 *

Also Published As

Publication number Publication date
CN110096266A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
US20180157965A1 (en) Device and method for determining convolutional neural network model for database
CN110688393B (zh) 查询语句优化方法、装置、计算机设备及存储介质
WO2020068498A1 (en) Data compression using integer neural networks
CN106557307B (zh) 业务数据的处理方法及处理系统
CN111708931B (zh) 基于移动互联网的大数据采集方法及人工智能云服务平台
CN109993026B (zh) 亲属识别网络模型的训练方法及装置
CN113449854A (zh) 网络模型的混合精度量化方法、设备及计算机存储介质
CN110096266B (zh) 一种特征加工方法和装置
CN110852385B (zh) 图像处理方法、装置、设备和存储介质
CN113989165A (zh) 图像处理方法、装置、电子设备及存储介质
CN110046670B (zh) 特征向量降维方法和装置
US20210041991A1 (en) System and method for implementing a self service machine learning framework
CN105022635A (zh) 基于云平台的算法文件生成方法、装置及云平台
CN115795454B (zh) 基于线上操作大数据的业务优化方法及人工智能优化系统
CN115934484B (zh) 基于扩散模型数据增强的异常检测方法、存储介质及设备
CN115358473A (zh) 基于深度学习的电力负荷预测方法及预测系统
CN110175128A (zh) 一种相似代码案例获取方法、装置、设备和存储介质
CN110728118B (zh) 跨数据平台的数据处理方法、装置、设备及存储介质
CN114371884A (zh) Flink计算任务的处理方法、装置、设备和存储介质
US20210157576A1 (en) Speech to Project Framework
WO2021068529A1 (zh) 图像识别方法、装置、计算机设备及存储介质
US11263338B2 (en) Data security maintenance method for data analysis application
US11606435B1 (en) System, method, and computer program for establishing application interfaces in an echo system
CN117149654A (zh) 一种系统迁移测试方法、装置、设备及存储介质
CN111144066A (zh) 字库字面的调整方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 401121 b7-7-2, Yuxing Plaza, No.5 Huangyang Road, Yubei District, Chongqing

Applicant after: Chongqing duxiaoman Youyang Technology Co.,Ltd.

Address before: 201800 room j1328, 3 / F, building 8, 55 Huiyuan Road, Jiading District, Shanghai

Applicant before: SHANGHAI YOUYANG NEW MEDIA INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211220

Address after: 100193 Room 606, 6 / F, building 4, West District, courtyard 10, northwest Wangdong Road, Haidian District, Beijing

Applicant after: Du Xiaoman Technology (Beijing) Co.,Ltd.

Address before: 401121 b7-7-2, Yuxing Plaza, No.5 Huangyang Road, Yubei District, Chongqing

Applicant before: Chongqing duxiaoman Youyang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant