发明内容
为了解决上述技术问题,本申请提供了一种特征加工方法和装置,提升了获得代码的效率,保证了特征加工的进度。
本申请实施例公开了如下技术方案:
本申请实施例提供了一种特征加工方法,预先设置多个对应于不同加工方式的代码模板,其中,每个代码模板对应于一个加工方式,每个代码模板包括对应的加工方式的固定代码,所述方法包括:
获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数;
确定所述目标加工方式对应的目标代码模板;
根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。
可选的,若所述目标加工方式中包括与所述待加工特征的数据通过统计方式计算得到的统计结果的运算,则,所述参数包括对所述待加工特征的数据通过所述统计方式计算得到的统计结果。
可选的,所述统计结果包括最大值、最小值、平均值、标准差或者覆盖率中的一个或多个。
可选的,在所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数之后,所述方法还包括:
根据所述目标加工方式和所述参数,编码成目标字符串;
对所述目标字符串进行解析,生成类对象的成员变量,所述类对象的成员变量包括所述目标加工方式的变量和所述参数的变量;
则,所述确定所述目标加工方式对应的目标代码模板,包括:
根据所述目标加工方式的变量,确定所述目标加工方式对应的目标代码模板;
所述根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段,包括:
根据所述参数的变量,生成所述目标代码模板对应的固定代码的可装配参数;
根据所述目标代码模板对应的固定代码和所述目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段。
可选的,所述方法还包括:
将所述目标代码片段添加至对应的上下文代码片段中,生成目标特征加工代码;
若目标特征包括最终加工特征,将所述目标特征加工代码确定为最终特征加工代码,将所述最终特征加工代码发送至服务器集群中运行;所述目标特征包括应用所述目标加工方式得到的特征,所述最终加工特征包括所述特征加工方法的最终目标特征;
若所述目标特征不包括最终加工特征,将所述目标特征加工代码确定为所述上下文代码片段,执行所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数的步骤,直至所述目标特征包括所述最终加工特征。
可选的,所述加工方式包括最大最小标准化运算、证据权重woe运算或者零均值z-score标准化运算中的一种或多种。
本申请实施例提供了一种特征加工装置,所述装置包括代码模板模块、获取模块、第一确定模块和第一生成模块:
所述代码模板模块,用于预先设置多个对应于不同加工方式的代码模板,其中,每个代码模板对应于一个加工方式,每个代码模板包括对应的加工方式的固定代码;
所述获取模块,用于获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数;
所述第一确定模块,用于确定所述目标加工方式对应的目标代码模板;
所述第一生成模块,用于根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。
可选的,若所述目标加工方式中包括与所述待加工特征的数据通过统计方式计算得到的统计结果的运算,则,所述参数包括对所述待加工特征的数据通过所述统计方式计算得到的统计结果。
可选的,所述统计结果包括最大值、最小值、平均值、标准差或者覆盖率中的一个或多个。
可选的,所述装置还包括编码模块和第二生成模块:
所述编码模块,用于在所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数之后,根据所述目标加工方式和所述参数,编码成目标字符串;
所述第二生成模块,用于对所述目标字符串进行解析,生成类对象的成员变量,所述类对象的成员变量包括所述目标加工方式的变量和所述参数的变量;
则,所述第一确定模块,具体用于根据所述目标加工方式的变量,确定所述目标加工方式对应的目标代码模板;
所述第一生成模块,包括第一生成子模块和第二生成子模块:
所述第一生成子模块,用于根据所述参数的变量,生成所述目标代码模板对应的固定代码的可装配参数;
所述第二生成子模块,用于根据所述目标代码模板对应的固定代码和所述目标代码模板对应的固定代码的可装配参数,生成用于实现所述目标加工方式的目标代码片段。
可选的,其特征在于,所述装置还包括第三生成模块、第二确定模块和第三确定模块:
所述第三生成模块,用于将所述目标代码片段添加至对应的上下文代码片段中,生成目标特征加工代码;
所述第二确定模块,用于若目标特征包括最终加工特征,将所述目标特征加工代码确定为最终特征加工代码,将所述最终特征加工代码发送至服务器集群中运行;所述目标特征包括应用所述目标加工方式得到的特征,所述最终加工特征包括所述特征加工方法的最终目标特征;
所述第三确定模块,用于若所述目标特征不包括最终加工特征,将所述目标特征加工代码确定为所述上下文代码片段,执行所述获取待加工特征对应的目标加工方式和应用于所述目标加工方式的参数的步骤,直至所述目标特征包括所述最终加工特征。
可选的,所述加工方式包括最大最小标准化运算、证据权重woe运算或者零均值z-score标准化运算中的一种或多种。
由上述技术方案可以看出,针对于一些较为常用且复杂的加工方式,可以为每种加工方式预先设置有与之对应的代码模板,其中,该代码模板中可以包括有对应于所述加工方式的固定代码,这里所述的固定代码可以是实现所述加工方式的固定不变的代码部分。而对于实现所述加工方式的可变代码部分,可以根据用户所配置的应用于所述目标加工方式的参数得到,这样,当需要为待加工特征通过某种加工方式进行加工时,可以直接从预设的加工方式中确定出待加工特征对应的目标加工方式,以及添加应用所述目标加工方式所需的参数。从而,在获取目标加工方式和对应的参数之后,可以相应的确定出目标加工方式对应的目标代码模板,从而根据所述目标代码模板对应的固定代码和所述参数,生成用于实现所述目标加工方式的目标代码片段。由此,用户仅需选择待加工特征对应的目标加工方式,以及设置应用于所述目标加工方式的参数,而无需去理解该目标加工方式的运算逻辑以及编写代码,即可生成用于为所述待加工特征实现所述目标加工方式的目标代码片段,从而提升了获得代码的效率,保证了特征加工的进度。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
目前,当不同的用户在面临一些较为常用且复杂的加工方式时,他们需要各自花费大量时间及精力去理解这些复杂加工方式的运算逻辑,以及各自编写这部分加工方式的运算代码,从而降低了代码编写的效率,影响了特征加工的进度。
为此,本申请实施例提供了一种特征加工方法,使得用户仅需选择待加工特征对应的目标加工方式,以及设置应用于所述目标加工方式的参数,即可生成用于实现目标加工方式的目标代码片段,从而提升了获得代码的效率,保证了特征加工的进度。
首先,对本申请实施例的应用场景进行介绍。本申请实施例所提供的特征加工方法可以应用于数据处理设备,例如可以是终端设备或服务器。
当数据处理设备为终端设备时,终端设备具体可以为智能手机、计算机、个人数字助理(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、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。