发明内容
本发明要解决的技术问题在于如何优化特征工程以提高模型的准确性。
为此,根据第一方面,本发明实施例公开了一种特征工程变量确定方法,包括:
获取用于机器学习的特征变量数据集合,特征变量数据集合包含多种不同类型的特征变量;基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集;从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合。
可选地,基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集包括:根据选定的特征变量的类型提取与该类型相匹配的衍生规则;基于与该类型相匹配的衍生规则对选定的特征变量进行衍生得到选定的特征变量扩充后的多个特征变量作为扩充数据集中的扩充特征变量。
可选地,从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合包括:查询扩充数据集中各个特征变量的特征组合;从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合。
可选地,从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合包括:获取用于表征用于机器学习的特征变量组合的重要度指标;从不同的特征组合中选取与重要度指标关联的特征组合作为用于机器学习的特征变量组合。
可选地,在获取用于机器学习的特征变量数据集合和基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集之间,还包括:对不同类型的特征变量进行预处理得到特征变量数据集合。
根据第二方面,本发明实施例公开了一种特征工程变量确定装置,包括:
数据获取模块,用于获取用于机器学习的特征变量数据集合,特征变量数据集合包含多种不同类型的特征变量;特征衍生模块,用于基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集;特征筛选模块,从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合。
可选地,特征衍生模块包括:规则提取单元,用于根据选定的特征变量的类型提取与该类型相匹配的衍生规则;特征扩充单元,用于基于与该类型相匹配的衍生规则对选定的特征变量进行衍生得到选定的特征变量扩充后的多个特征变量作为扩充数据集中的扩充特征变量。
可选地,还包括:组合查询模块,用于查询扩充数据集中各个特征变量的特征组合;组合确定模块,用于从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合。
可选地,组合确定模块包括:指标获取单元,用于获取用于表征用于机器学习的特征变量组合的重要度指标;组合选取单元,用于从不同的特征组合中选取与重要度指标关联的特征组合作为用于机器学习的特征变量组合。
可选地,还包括:预处理模块,用于对不同类型的特征变量进行预处理得到特征变量数据集合。
根据第三方面,本发明实施例公开了一种计算机装置,包括处理器,处理器用于执行存储器中存储的计算机程序实现如下方法:
获取用于机器学习的特征变量数据集合,特征变量数据集合包含多种不同类型的特征变量;基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集;从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合。
根据第四方面,本发明实施例公开了一种计算机可读存储介质,其上存储有计算机程序,处理器用于执行存储介质中存储的计算机程序实现如下方法:
获取用于机器学习的特征变量数据集合,特征变量数据集合包含多种不同类型的特征变量;基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集;从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合。
本发明技术方案,具有如下优点:
本发明实施例提供的特征工程变量确定方法及装置,在获取用于机器学习的特征变量数据集合后,基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集,增强了特征变量的可解释性,丰富了特征变量所包含的信息,从而,在从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合,可以包含更丰富和更强解释性的数据信息,继而,优化了用于机器学习的特征变量,使得后期建模时可以利用优质的特征组合来提高模型的准确性。
此外,基于预设规则对各种类型的特征变量进行衍生,而后从扩充数据集中筛选特征变量进行组合,能够实现特征变量自动衍生和筛选组合的操作,因此,实现了自动化特征工程,提高了特征工程效率。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
为了优化特征工程以及提高特征工程效率,本实施例公开了一种特征工程变量确定方法,请参考图1,为本实施例公开的一种特征工程变量确定方法流程图,该特征工程变量确定方法包括:
步骤S100,获取用于机器学习的特征变量数据集合。在具体实施例中,可以从数据前端例如移动终端、PC端获取特征变量,也可以从外部存储器获取特征变量数据集合。本实施例中,特征变量数据集合包含多种不同类型的特征变量,具体地,特征变量可以是字符型变量、时间型变量、分类型变量和数值型变量。在具体实施例中,在获取特征变量数据集合后,可以自动识别特征变量的数据类型,以便进行不同的数据处理。在具体实施过程中,可以采用现有的识别方法来识别特征变量的数据类型。
步骤S200,基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集。本实施例中,由原始特征变量进行变化而生成新的特征变量,这些新的特征变量即为原始特征变量衍生后得到的扩充特征变量,以此增强特征变量的可解释性。在具体实施例中,针对不同类型的特征变量采用不同的衍生方式来衍生得到各类型特征变量的扩充特征变量。具体地,对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集包括:根据选定的特征变量的类型提取与该类型相匹配的衍生规则;基于与该类型相匹配的衍生规则对选定的特征变量进行衍生得到选定的特征变量扩充后的多个特征变量作为扩充数据集中的扩充特征变量。作为例子,对时间特征变量,可以采用进行时间切分的衍生规则来进行衍生扩充特征变量;对连续特征变量,可以采用统计的方法进行衍生扩充特征变量;对数值型特征变量,可以采用例如取平均、中位数、增长率及加减乘除运算等衍生出新的特征变量。
步骤S300,从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合。本实施例中,可以根据机器学习所需要的特征变量的属性来自动筛选特征变量,而后对筛选出来的特征变量进行组合得到特征变量组合。由于根据机器学习所需要的属性来筛选特征变量,使得筛选出来的特征变量更贴合机器学习的需要,更具针对性,因此能够提高模型的准确性。
在可选的实施例中,在执行步骤S300时,从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合包括:查询扩充数据集中各个特征变量的特征组合;从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合。在具体实施过程中,可以通过枚举遍历的方式来生成所有可能的特征变量组合,例如采用排列组合的方式枚举所有可能的特征组合,例如n个特征变量,可以产生2n-1个特征变量组合;当然,也可以是通过设置相关系数阈值的方式来组合特征变量,例如某两个特征变量的相关系数超过设定的阈值时,则表明该两个特征变量关联性较大,可以进行组合。需要说明的是,在具体实施例中,可以是特征变量两两组合,也可以是多个特征变量的组合。在从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合时,可以获取用于表征用于机器学习的特征变量组合的重要度指标,从不同的特征组合中选取与重要度指标关联的特征组合作为用于机器学习的特征变量组合。作为例子,在机器学习中,实现线性分析时,线性系数K为相对重要的指标,可以选取与线性系数K相关的特征组合作为用于机器学习的特征变量组合。在选取与重要度指标关联的特征组合时,可以利用退火算法、遗传算法等算法筛选出对机器学习模型提升最大的特征组合。
为了提高数据处理效率和准确性,在可选的实施例中,在执行步骤S100和步骤S200之间,还可以包括:
步骤S400,对不同类型的特征变量进行预处理得到特征变量数据集合。本实施例中,可以根据具体特征变量的类型来对特征变量进行预处理。为便于本领域技术人员理解,下文分别针对数值型特征变量、分类型特征变量、时间类型特征变量以及字符型特征变量的预处理进行说明。
(1)对于数值型特征变量数据。可以自动进行无量纲化、缺失值修正、离散化等预处理,其中:无量纲化将不同规格的数据转换到同一规格,例如标准化、区间缩放、数据正则化等;缺失值修正处理可以是删除缺失值、数据补全、忽略缺失值等;离散化处理可以是特征分箱、特征二元化等,特征分箱根据数值不同取值切分成不同水平的类别变量,特征二元化的过程是将数值型数据转换为布尔型属性,设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0。
(2)对于分类型特征变量数据。可以自动进行类别合并、数值化编码等预处理,其中:类别合并可以是分箱、二元化等,即通过将高维分类变量合并成低维变量;数值化编码可以是哑变量化、独热编码(one-hot)等,哑变量化采用N位状态寄存器对N个可能的取值进行编码,N为正整数,每个状态都由独立的寄存器位来表示,并且在任意时刻只有其中一位有效,假设某个属性的取值为非数值的离散集合[离散值1,离散值2,…,离散值m],m为正整数,则针对该属性的编码为一个m元的元组,且该元组的分量有且只有一个为1,其余都为0,而独热编码使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效,从而可以实现类别合并。
(3)对于时间类型特征变量数据。可以进行转换和切分,时间类型特征变量可转换距离基准日多少天(也可以是小时、分等计时单位),可切分为不同时间段。需要说明的是,在将时间类型特征变量转换为距离基准时间的间隔后,这些时间类型特征变量可以转变为数值型特征变量,而后也可以采用上述数值型特征变量数据对转换后的时间类型数据进行预处理,在此不再赘述。
(4)对于字符型特征变量数据,可对字符型数据进行分类和切分。具体地,可以进行例如断词、语义拆分等。
本实施例还公开了一种特征工程变量确定装置,请参考图2,为本实施例公开的一种特征工程变量确定装置结构示意图,该特征工程变量确定装置包括:数据获取模块100、特征衍生模块200和特征筛选模块300,其中:
数据获取模块100用于获取用于机器学习的特征变量数据集合,特征变量数据集合包含多种不同类型的特征变量;特征衍生模块200用于基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集;特征筛选模块300从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合。
在可选的实施例中,特征衍生模块200包括:规则提取单元用于根据选定的特征变量的类型提取与该类型相匹配的衍生规则;特征扩充单元用于基于与该类型相匹配的衍生规则对选定的特征变量进行衍生得到选定的特征变量扩充后的多个特征变量作为扩充数据集中的扩充特征变量。
在可选的实施例中,该特征工程变量确定装置还包括:组合查询模块用于查询扩充数据集中各个特征变量的特征组合;组合确定模块用于从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合。
在可选的实施例中,组合确定模块包括:指标获取单元,用于获取用于表征用于机器学习的特征变量组合的重要度指标;组合选取单元,用于从不同的特征组合中选取与重要度指标关联的特征组合作为用于机器学习的特征变量组合。
在可选的实施例中,该特征工程变量确定装置还包括:预处理模块400,预处理模块400用于对不同类型的特征变量进行预处理得到特征变量数据集合。
此外,本实施例还公开了一种计算机装置,包括处理器,处理器用于执行存储器中存储的计算机程序实现如下方法:
获取用于机器学习的特征变量数据集合,特征变量数据集合包含多种不同类型的特征变量;基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集;从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合。
在可选的实施例中,基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集包括:根据选定的特征变量的类型提取与该类型相匹配的衍生规则;基于与该类型相匹配的衍生规则对选定的特征变量进行衍生得到选定的特征变量扩充后的多个特征变量作为扩充数据集中的扩充特征变量。
在可选的实施例中,从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合包括:查询扩充数据集中各个特征变量的特征组合;从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合。
在可选的实施例中,从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合包括:获取用于表征用于机器学习的特征变量组合的重要度指标;从不同的特征组合中选取与重要度指标关联的特征组合作为用于机器学习的特征变量组合。
在可选的实施例中,在获取用于机器学习的特征变量数据集合和基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集之间,还包括:对不同类型的特征变量进行预处理得到特征变量数据集合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。计算机处理器用于执行存储介质中存储的计算机程序实现以下方法:
获取用于机器学习的特征变量数据集合,特征变量数据集合包含多种不同类型的特征变量;基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集;从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合。
在可选的实施例中,基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集包括:根据选定的特征变量的类型提取与该类型相匹配的衍生规则;基于与该类型相匹配的衍生规则对选定的特征变量进行衍生得到选定的特征变量扩充后的多个特征变量作为扩充数据集中的扩充特征变量。
在可选的实施例中,从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合包括:查询扩充数据集中各个特征变量的特征组合;从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合。
在可选的实施例中,从不同的特征组合中确定优选特征组合作为用于机器学习的特征变量组合包括:获取用于表征用于机器学习的特征变量组合的重要度指标;从不同的特征组合中选取与重要度指标关联的特征组合作为用于机器学习的特征变量组合。
在可选的实施例中,在获取用于机器学习的特征变量数据集合和基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集之间,还包括:对不同类型的特征变量进行预处理得到特征变量数据集合。
本实施例提供的特征工程变量确定方法及装置,在获取用于机器学习的特征变量数据集合后,基于预设规则对各种类型的特征变量分别进行衍生得到扩充特征变量后的扩充数据集,增强了特征变量的可解释性,丰富了特征变量所包含的信息,从而,在从扩充数据集中筛选特征变量进行组合得到用于机器学习的特征变量组合,可以包含更丰富和更强解释性的数据信息,继而,优化了用于机器学习的特征变量,使得后期建模时可以利用优质的特征组合来提高模型的准确性。
此外,基于预设规则对各种类型的特征变量进行衍生,而后从扩充数据集中筛选特征变量进行组合,能够实现特征变量自动衍生和筛选组合的操作,因此,实现了自动化特征工程,提高了特征工程效率。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。