一种基于序列化文件的机器学习方法、装置及设备与流程

文档序号:17009799发布日期:2019-03-02 02:11阅读:168来源:国知局
一种基于序列化文件的机器学习方法、装置及设备与流程

本发明涉及计算机领域,特别涉及一种基于序列化文件的机器学习方法、装置、设备、及计算机可读存储介质。



背景技术:

机器学习(machinelearning,ml)是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,更具体的说,机器学习方法是计算机利用已有的数据,得出了某种模型,并利用此模型预测未来的一种方法。

在构建机器学习模型过程中,有大量的数据集拆分、特征工程、模型参数调整等繁琐工作,而且使用不同编程语言不同机器学习框架的算法工程师很难集成各自的工作成果,且机器学习中涉及繁琐的数据集拆分、特征配置、模型参数配置等工作,导致机器学习模型的开发效率差强人意。



技术实现要素:

本发明的目的是提供一种基于序列化文件的机器学习方法、装置、设备、及计算机可读存储介质,用以解决传统的机器学习中涉及繁琐的数据集拆分、特征配置、模型参数配置等工作,导致机器学习模型的开发效率较低的问题。

为解决上述技术问题,本发明提供了一种基于序列化文件的机器学习方法,包括:

预先确定机器学习模型业务流程中的多个学习组件类型;

将多个学习组件按照所述学习组件类型写入序列化文件,所述学习组件为预先构建得到的;

利用目标解析工具对所述序列化文件进行解析,以便于所述机器学习模型运行于目标编程语言环境或目标机器学习框架中。

其中,所述预先确定机器学习模型业务流程中的多个学习组件类型包括:

预先确定机器学习模型业务流程中的数据集组件类型、特征工程组件类型、以及模型组件类型。

其中,所述将多个学习组件按照所述学习组件类型写入序列化文件包括:

响应于用户下发的将特征工程组件写入序列化文件的指令,判断所述特征工程组件是否已经预先写入所述序列化文件;

若所述特征工程组件已经预先写入所述序列化文件,则提醒用户所述特征工程组件无法再次写入;

否则,将所述特征工程组件写入所述序列化文件。

其中,所述响应于用户下发的将特征工程组件写入序列化文件的指令,判断所述特征工程组件是否已经预先写入所述序列化文件包括:

响应于用户下发的将特征工程组件写入序列化文件的指令,确定待写入的特征工程组件;

判断所述特征工程组件是否存在;

若存在,则判断所述特征工程组件是否已经预先写入所述序列化文件。

其中,在所述响应于用户下发的将特征工程组件写入序列化文件的指令,确定待写入的特征工程组件之前,还包括:

以图形化方式向用户显示多个特征工程组件,以供用户选择。

其中,所述序列化文件为xml文件或json文件。

其中,所述序列化文件包括多个机器学习管道,所述机器学习管道与所述机器学习模型一一对应;

所述将多个学习组件按照所述学习组件类型写入序列化文件包括:

将多个学习组件按照所述学习组件类型写入序列化文件的目标机器学习管道。

相应的,本发明还提供了一种基于序列化文件的机器学习装置,包括:

学习组件类型确定模块:用于预先确定机器学习模型业务流程中的多个学习组件类型;

学习组件写入模块:用于将多个学习组件按照所述学习组件类型写入序列化文件,所述学习组件为预先构建得到的;

序列化文件解析模块:用于利用目标解析工具对所述序列化文件进行解析,以便于所述机器学习模型运行于目标编程语言环境或目标机器学习框架中。

此外,本发明还提供了一种基于序列化文件的机器学习设备,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序,以实现如上所述的一种基于序列化文件的机器学习方法的步骤。

最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种基于序列化文件的机器学习方法的步骤。

本发明所提供的一种基于序列化文件的机器学习方法,预先确定了机器学习模型业务流程中的多个学习组件类型,然后将预先构建得到的学习组件按照所述学习组件类型写入序列化文件,最后利用解析工具对序列化文件进行解析,即可实现将该机器学习模型运行于相应的编程语言环境或者机器学习框架中。可见,该方法规范了机器学习流程,避免了人工配置机器学习模型的特征参数、模型参数等工作,极大的提升了机器学习的开发效率,此外,通过将序列化文件按照不同的方式进行解析,可以实现将机器学习模型运行于不同的编程语言环境或者机器学习框架中,扩展了机器学习模型的应用环境。

此外,本发明还提供了一种基于序列化文件的机器学习装置、设备、计算机可读存储介质,其作用与上述方法的作用相对应,这里不再赘述。

附图说明

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

图1为本发明提供的一种基于序列化文件的机器学习方法实施例一的实现流程图;

图2为本发明提供的一种基于序列化文件的机器学习方法实施例二的实现流程图;

图3为本发明提供的一种基于序列化文件的机器学习装置实施例的结构框图。

具体实施方式

本发明的核心是提供一种基于序列化文件的机器学习方法、装置、设备、计算机可读存储介质,规范了机器学习流程,提升了机器学习的开发效率,扩展了机器学习模型的应用环境。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面对本发明提供的一种基于序列化文件的机器学习方法实施例一进行介绍,参见图1,实施例一包括:

步骤s101:预先确定机器学习模型业务流程中的多个学习组件类型。

步骤s102:将多个学习组件按照所述学习组件类型写入序列化文件,所述学习组件为预先构建得到的。

步骤s103:利用目标解析工具对所述序列化文件进行解析,以便于所述机器学习模型运行于目标编程语言环境或目标机器学习框架中。

本实施例所提供一种基于序列化文件的机器学习方法,预先确定了机器学习模型业务流程中的多个学习组件类型,然后将预先构建得到的学习组件按照所述学习组件类型写入序列化文件,最后利用解析工具对序列化文件进行解析,即可实现将该机器学习模型运行于相应的编程语言环境或者机器学习框架中。可见,该方法规范了机器学习流程,避免了人工配置机器学习模型的特征参数、模型参数等工作,极大的提升了机器学习的开发效率,此外,通过将序列化文件按照不同的方式进行解析,可以实现将机器学习模型运行于不同的编程语言环境或者机器学习框架中,扩展了机器学习模型的应用环境。

实施例一中提到的序列化文件,实际上可以是xml文件,也可以是json文件,本发明对此不做具体限定。本发明提供了一种基于序列化文件的机器学习方法实施例二,实施例二选用xml文件。

下面开始详细介绍本发明提供的一种基于序列化文件的机器学习方法实施例二,实施例二基于实施例一实现,并在实施例一的基础之上做了进一步的扩展。

参见图2,实施例二具体包括:

步骤s201:预先确定机器学习模型业务流程中的多个学习组件类型,包括数据集组件类型、特征工程组件类型、以及模型组件类型。

具体的,本实施例采用spark系统基于sparkmlib算法实现。机器学习组件是机器学习流程“pipleline”中的重要组成,各个机器学习组件实现一种或者多种机器学习算法。本实施例规范了机器学习流程,对机器学习流程“pipleline”中涉及的关键组件进行了划分,具体包括上述数据集“dataset”、特征工程“feature”、模型“model”。

其中,数据集类型的组件可以自定义数据集拆分策略,例如留出法、交叉验证法、分层采样法等,此外还可以提供多种数据源导入策略,例如从hive导入、hdfs导入等。

特征工程类型的组件将常见的工程问题区分为两大类,分别为特征配置和特征工程,其中,特征配置包括单特征配置、组合特征配置,特征工程包括特征提取、特征转换、特征选取等。

模型类型的组件支持各种参数的灵活配置,还支持同步校准学习出来的模型,可以实现将模型学习和模型校准在一次机器学习的过程中完成。

步骤s202:响应于用户下发的将特征工程组件写入序列化文件的指令,确定待写入的特征工程组件。

本实施例中需要在序列化文件中描述各个组件,也就是说,需要将机器学习组件写入序列化文件中。

对于将机器学习组件写入xml文件的具体方式,可以为用户手动输入机器学习组件的标识信息、路径信息等方式,也可以是预先将可以添加进xml文件的各个组件显示给用户,用户通过选择即可实现将机器学习组件写入xml文件的方式,具体显示方式可以为以图形化方式向用户显示。

在用户输入机器学习组件的相关信息之后,或者是在用户选定机器学习组件之后,当前的处理设备,通过分析确定该待写入的特征工程组件。

显然,步骤s202以及后续的步骤中只提及了特征工程组件,只是为了描述本实施例的实现过程,对于其他类型的机器学习组件的实现过程可以参照,本实施例这里不再赘述。

步骤s203:判断所述特征工程组件是否存在。

此步的目的在于,避免用户添加一些实际上并不存在的机器学习组件,导致机器学习模型运行时发生错误,因此,在执行写入动作之前,需要判断该组件是否存在,甚至是否有效。具体的,可以利用xmlschema,通过特征候选集来约束特征配置,避免配置不存在的特征工程组件。

步骤s204:若所述特征工程组件存在,则判断所述特征工程组件是否已经预先写入所述序列化文件。若所述特征工程组件已经预先写入所述序列化文件,则提醒用户所述特征工程组件无法再次写入。否则,进入步骤s205。

此步的目的在于避免重复添加某个机器学习组件,具体可以通过xmlschema来判断,并提示用户。

步骤s205:将所述特征工程组件写入所述序列化文件。

步骤s206:重复步骤s202到步骤s205,将其他类型的机器学习组件写入xml文件。

步骤s207:利用目标解析工具对xml文件进行解析,以便于所述机器学习模型运行于目标编程语言环境或目标机器学习框架中。

在解析进行之前,需要对xml文件的合法性进行校验。如果校验通过,则进行解析,否则终止程序。

具体的,本实施例可以利用现成的解析工具来对xml文件进行解析,也可以自行编写解析代码来对该xml文件进行解析。通过编写适当的解析代码,可以实现让xml运行在不同的编程语言环境(例如scala或python),或者不同的机器学习框架(例如spark、mahout、scikit-learn)中,实现一次编写多处运行的目的。

实际上,本实施例中xml文件设置有机器学习管道“pipeline”,在解析完成后,需要构建机器学习管道。机器学习管道体现了机器学习的流程,值得一提的是,在本实施例中,在一个xml文件中可以存在多个机器学习模型,每个机器学习模型对应一个机器学习流程,即机器学习管道“pipeline”。

综上所述,本实施例所提供一种基于序列化文件的机器学习方法,预先确定了机器学习模型业务流程中的多个学习组件类型,然后将预先构建得到的学习组件按照所述学习组件类型写入xml文件,最后利用解析工具对xml文件进行解析,即可实现将该机器学习模型运行于相应的编程语言环境或者机器学习框架中。

可见,该方法规范了机器学习流程,实现了机器学习流程的文档化、接口化、组件化,实现了整个机器学习模型的解耦,而且还避免了人工配置机器学习模型的特征参数、模型参数等工作,极大的提升了机器学习的开发效率,此外,通过将序列化文件按照不同的方式进行解析,可以实现将机器学习模型运行于不同的编程语言环境或者机器学习框架中,扩展了机器学习模型的应用环境。

下面对本发明实施例提供的一种基于序列化文件的机器学习方法进行介绍,下文描述的一种基于序列化文件的机器学习装置与上文描述的一种基于序列化文件的机器学习方法可相互对应参照。

参见图3,该装置实施例具体包括:

学习组件类型确定模块301:用于预先确定机器学习模型业务流程中的多个学习组件类型。

学习组件写入模块302:用于将多个学习组件按照所述学习组件类型写入序列化文件,所述学习组件为预先构建得到的。

序列化文件解析模块303:用于利用目标解析工具对所述序列化文件进行解析,以便于所述机器学习模型运行于目标编程语言环境或目标机器学习框架中。

本实施例的一种基于序列化文件的机器学习装置用于实现前述的一种基于序列化文件的机器学习方法,因此该装置中的具体实施方式可见前文中的一种基于序列化文件的机器学习方法的实施例部分,例如,学习组件类型确定模块301、学习组件写入模块302、序列化文件解析模块303,分别用于实现上述一种基于序列化文件的机器学习方法中步骤s101,s102,s103。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。

另外,由于本实施例的一种基于序列化文件的机器学习装置用于实现前述的一种基于序列化文件的机器学习方法,因此其作用与上述方法的作用相对应,这里不再赘述。

此外,本发明还提供了一种基于序列化文件的机器学习设备,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序,以实现如上所述的一种基于序列化文件的机器学习方法的步骤。

最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种基于序列化文件的机器学习方法的步骤。

本发明提供的一种基于序列化文件的机器学习设备、计算机可读存储介质用于实现前述的一种基于序列化文件的机器学习方法,因此该装置中的具体实施方式可见前文中的一种基于序列化文件的机器学习方法的实施例部分,且作用与上述方法实施例的作用相对应,这里不再展开介绍。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种基于序列化文件的机器学习方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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