目标数据的分类方法、装置、存储介质及电子装置与流程

文档序号:15047893发布日期:2018-07-27 23:07阅读:148来源:国知局

本发明涉及计算机领域,具体而言,涉及一种目标数据的分类方法、装置、存储介质及电子装置。



背景技术:

现有的对数据进行分类的方式中通常是利用建模工具对样本数据进行训练得到模型,其后将模型备份到本地计算机上生成本地模型文件,利用模型文件中的预测函数对未分类的数据进行分类。这种方式虽然解决了一部分的数据分类问题,但由于训练出的模型文件的运行依赖于模型训练搭建的运行环境,如果需要将该模型文件应用于其他设备,则需要在其他设备上重新搭建复杂的运行环境,这就导致了训练好的分类模型只适合对本地数据进行分类,而无法进行大规模的分类任务。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种目标数据的分类方法、装置、存储介质及电子装置,以至少解决相关技术中分类模型处理大规模数据分类任务时复杂度较高的技术问题。

根据本发明实施例的一个方面,提供了一种目标数据的分类方法,包括:获取模型文件,其中,所述模型文件为用于存储目标模型的文件,所述目标模型为使用样本数据进行训练得到的用于执行分类任务的模型;从所述模型文件中提取出多个具有对应关系的数据特征、分类条件和分类结果,并将所述多个具有对应关系的数据特征、分类条件和分类结果转换为符合目标格式的多个函数,生成目标脚本文件;基于所述目标脚本文件对目标数据进行分类。

根据本发明实施例的另一方面,还提供了一种目标数据的分类装置,包括:获取模块,用于获取模型文件,其中,所述模型文件为用于存储目标模型的文件,所述目标模型为使用样本数据进行训练得到的用于执行分类任务的模型;处理模块,用于从所述模型文件中提取出多个具有对应关系的数据特征、分类条件和分类结果,并将所述多个具有对应关系的数据特征、分类条件和分类结果转换为符合目标格式的多个函数,生成目标脚本文件;分类模块,用于基于所述目标脚本文件对目标数据进行分类。

根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项中所述的方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行上述任一项中所述的方法。

在本发明实施例中,获取模型文件,其中,模型文件为用于存储目标模型的文件,目标模型为使用样本数据进行训练得到的用于执行分类任务的模型;从模型文件中提取出多个具有对应关系的数据特征、分类条件和分类结果,并将多个具有对应关系的数据特征、分类条件和分类结果转换为符合目标格式的多个函数,生成目标脚本文件;基于目标脚本文件对目标数据进行分类。也就是说,将模型文件中的多个具有对应关系的数据特征、分类条件和分类结果从模型文件中提取出来,并将该对应关系转换成符合目标格式的函数,得到目标脚本文件,从而使得模型文件中的分类条件和分类结果均由规则的函数进行记录,当分类模型需要在多台设备上安装从而对大规模数据进行分类处理时,只需将生成的目标脚本文件转移到各个设备,并基于该目标脚本文件对目标数据进行分类即可,避免了分类模型的复杂运行环境的重新搭建,从而降低了分类模型处理大规模数据分类任务时的复杂度,进而克服相关技术中分类模型处理大规模数据分类任务时复杂度较高的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的目标数据的分类方法的应用环境示意图;

图2是根据本发明实施例的一种可选的目标数据的分类方法的示意图;

图3是根据本发明可选的实施方式的一种目标数据的分类方法中目标数据分类的示意图;

图4是根据本发明可选的实施方式的一种目标数据的分类方法中模型解析的示意图;

图5是根据本发明实施例的一种可选的目标数据的分类装置的示意图;

图6是根据本发明实施例的一种可选的目标数据的分类方法的应用场景示意图一;

图7是根据本发明实施例的一种可选的目标数据的分类方法的应用场景示意图二;

图8是根据本发明实施例的一种可选的目标数据的分类方法的应用场景示意图三;

图9是根据本发明实施例的一种可选的目标数据的分类方法的应用场景示意图四;

图10是根据本发明实施例的一种可选的目标数据的分类方法的应用场景示意图五;以及

图11是根据本发明实施例的一种可选的电子装置的示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本发明实施例中,提供了一种上述目标数据的分类方法的实施例。作为一种可选的实施方式,该目标数据的分类方法可以但不限于应用于如图1所示的应用环境中,设备102通过网络106与设备104连接,设备102用于通过网络106从设备104获取模型文件,其中,模型文件为用于存储目标模型的文件,目标模型为使用样本数据进行训练得到的用于执行分类任务的模型;从模型文件中提取出多个具有对应关系的数据特征、分类条件和分类结果,并将多个具有对应关系的数据特征、分类条件和分类结果转换为符合目标格式的多个函数,生成目标脚本文件;基于目标脚本文件对目标数据进行分类;设备104,用于存储目标模型对应的模型文件。

在本实施例中,设备102将设备104中存储的模型文件中的多个具有对应关系的数据特征、分类条件和分类结果从模型文件中提取出来,并将该对应关系转换成符合目标格式的函数,得到目标脚本文件,从而使得模型文件中的分类条件和分类结果均由规则的函数进行记录,当分类模型需要在多台设备上安装从而对大规模数据进行分类处理时,只需将生成的目标脚本文件转移到各个设备,并基于该目标脚本文件对目标数据进行分类即可,避免了分类模型的复杂运行环境的重新搭建,从而降低了分类模型处理大规模数据分类任务时的复杂度,进而克服相关技术中分类模型处理大规模数据分类任务时复杂度较高的问题。

可选地,在本实施例中,上述设备可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑、台式pc机、数字电视及其他进行区域共享的硬件设备。上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。上述只是一种示例,本实施例对此不做任何限定。

根据本发明实施例,提供了一种目标数据的分类方法,如图2所示,该方法包括:

s202,获取模型文件,其中,模型文件为用于存储目标模型的文件,目标模型为使用样本数据进行训练得到的用于执行分类任务的模型;

s204,从模型文件中提取出多个具有对应关系的数据特征、分类条件和分类结果,并将多个具有对应关系的数据特征、分类条件和分类结果转换为符合目标格式的多个函数,生成目标脚本文件;

s206,基于目标脚本文件对目标数据进行分类。

可选地,在本实施例中,上述目标数据的分类方法可以但不限于应用于执行数据分类任务的场景中。其中,上述设备可以但不限于为各种类型的软件的服务器,例如,搜索引擎软件、新闻阅读软件、即时通讯软件、购物平台软件、游戏软件等。具体的,可以但不限于应用于在上述搜索引擎软件中执行网页资源数据的分类任务的场景中,或还可以但不限于应用于在上述新闻阅读软件中执行多媒体资源的分类任务的场景中,以降低分类模型处理大规模数据分类任务时的复杂度。上述仅是一种示例,本实施例中对此不做任何限定。

可选地,在本实施例中,目标数据可以但不限于包括多媒体数据(视频数据、音频数据)、图像数据、文本数据、网页数据等等。

可选地,在本实施例中,在上述步骤s204中,可以但不限于采用模型解析的方式将模型文件中的模型参数、初始条件和其他输入信息以及模拟时间和结果之间的一切关系均以公式、方程式和不等式来表示。

可选地,在本实施例中,模型文件可以但不限于是各种分类模型对应的模型文件。例如:模型文件可以但不限于包括xgboost模型文件。目标脚本文件可以但不限于是各种机器语言编写的脚本文件,例如:目标脚本文件可以但不限于包括python脚本文件。目标脚本文件还可以但不限于为r语言脚本文件、matlab脚本文件、c++脚本文件等等。

可选地,在本实施例中,在上述步骤s206中,可以基于目标脚本文件对目标数据进行分布式流处理。分布式流处理是针对流式数据的一种分布式、高吞吐、低延迟、具有自身容错的实时计算方式,是一种根据一组处理规则来持续处理的技术。在多台并行运行的计算机上分别调用该目标脚本文件,多台并行运行的计算机同时读取流式数据加载到各自调用的目标脚本文件中对数据进行分类处理,从而实现大规模流式数据的并行处理。

可见,通过上述步骤,将模型文件中的多个具有对应关系的数据特征、分类条件和分类结果从模型文件中提取出来,并将该对应关系转换成符合目标格式的函数,得到目标脚本文件,从而使得模型文件中的分类条件和分类结果均由规则的函数进行记录,当分类模型需要在多台设备上安装从而对大规模数据进行分类处理时,只需将生成的目标脚本文件转移到各个设备,并基于该目标脚本文件对目标数据进行分类即可,避免了分类模型的复杂运行环境的重新搭建,从而降低了分类模型处理大规模数据分类任务时的复杂度,进而克服相关技术中分类模型处理大规模数据分类任务时复杂度较高的问题。

作为一种可选的方案,基于目标脚本文件对目标数据进行分类包括:

s1,从目标数据中提取目标数据特征;

s2,调用目标脚本文件,并将目标数据特征输入目标脚本文件,得到多个目标分类结果;

s3,对多个目标分类结果执行目标运算,得到目标运算结果;

s4,确定目标运算结果在多个阈值范围中所落入的目标阈值范围;

s5,将目标阈值范围对应的目标类别标签确定为目标数据的标签,其中,多个阈值范围与多个类别标签一一对应。

可选地,在本实施例中,从目标数据中提取的目标数据特征与目标模型在训练时使用的数据特征一致。即在目标模型的训练过程中使用了哪些类型的特征对其进行训练,那么在对目标数据的分类过程中就从目标数据中提取哪些类型的目标数据特征。例如:以图像数据的分类为例,在目标模型的训练过程中提取图像数据中的颜色、亮度、对比度、饱和度作为图像数据的数据特征,使用上述数据特征对目标模型进行训练得到目标模型,将目标模型对应的模型文件转换成目标脚本文件,在使用目标脚本文件对目标数据进行分类的过程中,从目标数据中提取颜色、亮度、对比度、饱和度作为目标数据的目标数据特征,输入到目标脚本文件中,从而获取目标分类结果。

可选地,在本实施例中,由于目标脚本文件中记录了多个具有对应关系的数据特征、分类条件和分类结果,将目标数据特征输入到目标脚本文件,从多个对应关系中能够得到多个目标数据特征对应的分类条件和分类结果,从而获取目标数据特征满足的分类条件对应的分类结果,得到多个目标分类结果。

可选地,在本实施例中,对于使用不同的脚本语言得到的目标脚本文件,可以设计不同的主函数调用目标脚本文件。读取目标数据并在主函数中执行目标脚本文件,从而得到多个目标分类结果。

可选地,在本实施例中,预先设置多个阈值范围,并确定多个阈值范围与多个类别标签的一一对应关系,从而当得到目标运算结果后确定该目标运算结果所落入的目标阈值范围,进而根据上述的多个阈值范围与多个类别标签之间的一一对应关系确定目标阈值范围对应的目标类别标签,从而目标数据的标签,实现对目标数据的分类。

作为一种可选的方案,对多个目标分类结果执行目标运算,得到目标运算结果包括:

s1,对多个目标分类结果进行求和运算,得到求和结果;

s2,使用sigmoid函数将求和结果转换为目标概率值,并将目标概率值确定为目标运算结果。

可选地,在本实施例中,从目标数据特征在目标脚本文件中对应的多个分支中获取到多个目标分类结果后,对多个分类结果进行求和运算,并将求和运算得到的求和结果使用sigmoid函数转换到0到1的区间内,得到目标概率值,将这个目标概率值作为对目标数据进行分类得到的目标运算结果。

可选地,在本实施例中,将0到1的区间划分为上述多个阈值范围,每个阈值范围对应一个类别标签,得到上述目标运算结果后,获取目标运算结果对应的目标阈值范围,将目标阈值范围对应的目标类别标签确定为目标数据的标签。

在一个可选的实施方式中,如图3所示,基于目标脚本文件对目标数据进行分类的具体过程包括如下步骤:

步骤s302,加载规则函数。目标脚本文件中存储的符合目标格式的多个函数相当于是规则函数,通过设计的主函数调用目标脚本文件,加载目标脚本文件中的规则函数。

步骤s304,流式读取目标数据。在处理大规模数据时,待分类的目标数据可以以流式数据的形式进行读取。

步骤s306,将目标数据解析为固定格式。从目标数据中提取出满足格式要求的目标数据特征。

步骤s308,加载解析分布式调用规则函数。调用目标数据特征对应的规则函数,从而根据规则函数中的分类条件得到多个目标分类结果。

步骤s310,获取各个分支结果。上述目标数据特征对应的每个规则函数看做一个分支,得到多个目标分类结果作为各个分支结果。

步骤s312,对各个分支结果进行求和,并通过sigmoid函数将求和结果映射为目标概率值。

步骤s314,判断目标数据是否满足预设的筛选条件,例如:目标概率值是否大于阈值。

步骤s316,获取满足筛选条件的目标数据。

作为一种可选的方案,从模型文件中提取出多个具有对应关系的数据特征、分类条件和分类结果,并将多个具有对应关系的数据特征、分类条件和分类结果转换为符合目标格式的多个函数,生成目标脚本文件包括:

s1,从模型文件中查找分类结果;

s2,从模型文件中提取查找到的分类结果对应的分类条件以及分类条件中包括的数据特征;

s3,建立数据特征、分类条件和分类结果之间的对应关系,得到具有对应关系的数据特征、分类条件和分类结果;

s4,将具有对应关系的数据特征、分类条件和分类结果转换为目标机器语言的脚本文件,得到目标脚本文件。

在一个可选的实施方式中,以目标模型为xgboost模型、目标机器语言为python语言为例。对上述模型文件的解析过程进行说明。如图4所示,通过如下方式生成目标脚本文件。首先读取模型文件,将文件中各个boost分别存储到list中。依次读取每个存储的list,逐条获取其中的内容,判断是否遇到“leaf”,如果没有遇到“leaf”,则保存分支的判断条件、分支序号等内容,如果是,则将上述保存的内容解析成该分支的规则函数,直至该list中的内容获取完。判断list是否读完,如果没有读完,则继续读取下一个list,重复上面的过程。如果已经读完,则根据解析出的规则函数生成目标脚本文件。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例,还提供了一种用于实施上述目标数据的分类方法的目标数据的分类装置,如图5所示,该装置包括:

1)获取模块52,用于获取模型文件,其中,模型文件为用于存储目标模型的文件,目标模型为使用样本数据进行训练得到的用于执行分类任务的模型;

2)处理模块54,用于从模型文件中提取出多个具有对应关系的数据特征、分类条件和分类结果,并将多个具有对应关系的数据特征、分类条件和分类结果转换为符合目标格式的多个函数,生成目标脚本文件;

3)分类模块56,用于基于目标脚本文件对目标数据进行分类。

可选地,在本实施例中,上述目标数据的分类装置可以但不限于应用于执行数据分类任务的场景中。其中,上述设备可以但不限于为各种类型的软件的服务器,例如,搜索引擎软件、新闻阅读软件、即时通讯软件、购物平台软件、游戏软件等。具体的,可以但不限于应用于在上述搜索引擎软件中执行网页资源数据的分类任务的场景中,或还可以但不限于应用于在上述新闻阅读软件中执行多媒体资源的分类任务的场景中,以降低分类模型处理大规模数据分类任务时的复杂度。上述仅是一种示例,本实施例中对此不做任何限定。

可选地,在本实施例中,目标数据可以但不限于包括多媒体数据(视频数据、音频数据)、图像数据、文本数据、网页数据等等。

可选地,在本实施例中,在上述步骤s204中,可以但不限于采用模型解析的方式将模型文件中的模型参数、初始条件和其他输入信息以及模拟时间和结果之间的一切关系均以公式、方程式和不等式来表示。

可选地,在本实施例中,模型文件可以但不限于是各种分类模型对应的模型文件。例如:模型文件可以但不限于包括xgboost模型文件。目标脚本文件可以但不限于是各种机器语言编写的脚本文件,例如:目标脚本文件可以但不限于包括python脚本文件。目标脚本文件还可以但不限于为r语言脚本文件、matlab脚本文件、c++脚本文件等等。

可选地,在本实施例中,可以基于目标脚本文件对目标数据进行分布式流处理。分布式流处理是针对流式数据的一种分布式、高吞吐、低延迟、具有自身容错的实时计算方式,是一种根据一组处理规则来持续处理的技术。在多台并行运行的计算机上分别调用该目标脚本文件,多台并行运行的计算机同时读取流式数据加载到各自调用的目标脚本文件中对数据进行分类处理,从而实现大规模流式数据的并行处理。

可见,通过上述装置,将模型文件中的多个具有对应关系的数据特征、分类条件和分类结果从模型文件中提取出来,并将该对应关系转换成符合目标格式的函数,得到目标脚本文件,从而使得模型文件中的分类条件和分类结果均由规则的函数进行记录,当分类模型需要在多台设备上安装从而对大规模数据进行分类处理时,只需将生成的目标脚本文件转移到各个设备,并基于该目标脚本文件对目标数据进行分类即可,避免了分类模型的复杂运行环境的重新搭建,从而降低了分类模型处理大规模数据分类任务时的复杂度,进而克服相关技术中分类模型处理大规模数据分类任务时复杂度较高的问题。

作为一种可选的方案,分类模块包括:

1)第一提取单元,用于从目标数据中提取目标数据特征;

2)处理单元,用于调用目标脚本文件,并将目标数据特征输入目标脚本文件,得到多个目标分类结果;

3)执行单元,用于对多个目标分类结果执行目标运算,得到目标运算结果;

4)第一确定单元,用于确定目标运算结果在多个阈值范围中所落入的目标阈值范围;

5)第二确定单元,用于将目标阈值范围对应的目标类别标签确定为目标数据的标签,其中,多个阈值范围与多个类别标签一一对应。

可选地,在本实施例中,从目标数据中提取的目标数据特征与目标模型在训练时使用的数据特征一致。即在目标模型的训练过程中使用了哪些类型的特征对其进行训练,那么在对目标数据的分类过程中就从目标数据中提取哪些类型的目标数据特征。例如:以图像数据的分类为例,在目标模型的训练过程中提取图像数据中的颜色、亮度、对比度、饱和度作为图像数据的数据特征,使用上述数据特征对目标模型进行训练得到目标模型,将目标模型对应的模型文件转换成目标脚本文件,在使用目标脚本文件对目标数据进行分类的过程中,从目标数据中提取颜色、亮度、对比度、饱和度作为目标数据的目标数据特征,输入到目标脚本文件中,从而获取目标分类结果。

可选地,在本实施例中,由于目标脚本文件中记录了多个具有对应关系的数据特征、分类条件和分类结果,将目标数据特征输入到目标脚本文件,从多个对应关系中能够得到多个目标数据特征对应的分类条件和分类结果,从而获取目标数据特征满足的分类条件对应的分类结果,得到多个目标分类结果。

可选地,在本实施例中,对于使用不同的脚本语言得到的目标脚本文件,可以设计不同的主函数调用目标脚本文件。读取目标数据并在主函数中执行目标脚本文件,从而得到多个目标分类结果。

可选地,在本实施例中,预先设置多个阈值范围,并确定多个阈值范围与多个类别标签的一一对应关系,从而当得到目标运算结果后确定该目标运算结果所落入的目标阈值范围,进而根据上述的多个阈值范围与多个类别标签之间的一一对应关系确定目标阈值范围对应的目标类别标签,从而目标数据的标签,实现对目标数据的分类。

作为一种可选的方案,执行单元包括:

1)求和子单元,用于对多个目标分类结果进行求和运算,得到求和结果;

2)转换子单元,用于使用sigmoid函数将求和结果转换为目标概率值,并将目标概率值确定为目标运算结果。

可选地,在本实施例中,从目标数据特征在目标脚本文件中对应的多个分支中获取到多个目标分类结果后,对多个分类结果进行求和运算,并将求和运算得到的求和结果使用sigmoid函数转换到0到1的区间内,得到目标概率值,将这个目标概率值作为对目标数据进行分类得到的目标运算结果。

可选地,在本实施例中,将0到1的区间划分为上述多个阈值范围,每个阈值范围对应一个类别标签,得到上述目标运算结果后,获取目标运算结果对应的目标阈值范围,将目标阈值范围对应的目标类别标签确定为目标数据的标签。

在一个可选的实施方式中,如图3所示,基于目标脚本文件对目标数据进行分类的具体过程包括如下步骤:

步骤s302,加载规则函数。目标脚本文件中存储的符合目标格式的多个函数相当于是规则函数,通过设计的主函数调用目标脚本文件,加载目标脚本文件中的规则函数。

步骤s304,流式读取目标数据。在处理大规模数据时,待分类的目标数据可以以流式数据的形式进行读取。

步骤s306,将目标数据解析为固定格式。从目标数据中提取出满足格式要求的目标数据特征。

步骤s308,加载解析分布式调用规则函数。调用目标数据特征对应的规则函数,从而根据规则函数中的分类条件得到多个目标分类结果。

步骤s310,获取各个分支结果。上述目标数据特征对应的每个规则函数看做一个分支,得到多个目标分类结果作为各个分支结果。

步骤s312,对各个分支结果进行求和,并通过sigmoid函数将求和结果映射为目标概率值。

步骤s314,判断目标数据是否满足预设的筛选条件,例如:目标概率值是否大于阈值。

步骤s316,获取满足筛选条件的目标数据。

作为一种可选的方案,处理模块包括:

1)查找单元,用于从模型文件中查找分类结果;

2)第二提取单元,用于从模型文件中提取查找到的分类结果对应的分类条件以及分类条件中包括的数据特征;

3)建立单元,用于建立数据特征、分类条件和分类结果之间的对应关系,得到具有对应关系的数据特征、分类条件和分类结果;

4)转换单元,用于将具有对应关系的数据特征、分类条件和分类结果转换为目标机器语言的脚本文件,得到目标脚本文件。

在一个可选的实施方式中,以目标模型为xgboost模型、目标机器语言为python语言为例。对上述模型文件的解析过程进行说明。如图4所示,通过如下方式生成目标脚本文件。首先读取模型文件,将文件中各个boost分别存储到list中。依次读取每个存储的list,逐条获取其中的内容,判断是否遇到“leaf”,如果没有遇到“leaf”,则保存分支的判断条件、分支序号等内容,如果是,则将上述保存的内容解析成该分支的规则函数,直至该list中的内容获取完。判断list是否读完,如果没有读完,则继续读取下一个list,重复上面的过程。如果已经读完,则根据解析出的规则函数生成目标脚本文件。

本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述目标数据的分类方法的一种可选的具体应用示例。

作为一种可选的实施例,上述配置对象的更新方法可以但不限于应用于如图6所示的对客户端软件的配置对象进行更新的场景中。本实施例中提供了一种基于python脚本文件解析xgboost模型文件的方法。该方法将xgboost的模型文件解析成一种通用的可以流处理的python脚本文件,该方法主要包括两个处理流程:

1)模型解析:将训练完成的备份(dump)到的xgboost模型文件通过python语言转化为通用的基于通用的python语言的规则函数。

2)模型调用:在主函数中调用上述规则函数,获取每个目标数据通过规则函数的各个分支得到的目标分类结果,求和运算之后采用sigmoid函数获取样本的目标概率值,然后根据该目标概率值落入的目标阈值范围得到目标数据的类别。

在一个可选的实施方式中,如图7所示,为训练后的xgboost模型中的部分模型文件,从模型文件中查找分类结果,即带有“leaf”的语句,从模型文件中提取查找到的分类结果对应的分类条件以及分类条件中包括的数据特征,建立数据特征、分类条件和分类结果之间的对应关系,得到具有对应关系的数据特征、分类条件和分类结果,并将具有对应关系的数据特征、分类条件和分类结果转换为目标机器语言的脚本文件,得到目标脚本文件,如图8所示,为通过模型文件的解析获取到的目标脚本文件,通过如图9所示的代码,调用上述目标脚本文件,得到如图10所示的“|”左侧的目标概率值,“|”右侧的结果为求和结果,图10所示上方的结果为通过xgboost模型得到的概率值,可以二者几乎相同。

可见,通过本实施例提供的基于python脚本文件解析xgboost模型文件的方法对目标数据进行分类可以实现xgboost模型对大规模数据的实时分类或者预测。在某些领域(数据分布变化不大的情况下)可以实现模型的高效迁移,而不会依赖更多的xgboost库函数或者较高的python版本以及python本身的库函数。从而降低了分类模型处理大规模数据分类任务时的复杂度。

根据本发明实施例的又一个方面,还提供了一种用于实施上述目标数据的分类方法的电子装置,如图11所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器1102、存储器1104、传感器1106、编码器1108以及传输装置1110。

其中,存储器1104可用于存储软件程序以及模块,如本发明实施例中的视频图像的播放方法及装置。

对应的程序指令/模块,处理器1102通过运行存储在存储器1104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即图像编码方法。存储器1104可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1104可进一步包括相对于处理器1102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置1110用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1110包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1110为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图11其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s1,获取模型文件,其中,模型文件为用于存储目标模型的文件,目标模型为使用样本数据进行训练得到的用于执行分类任务的模型;

s2,从模型文件中提取出多个具有对应关系的数据特征、分类条件和分类结果,并将多个具有对应关系的数据特征、分类条件和分类结果转换为符合目标格式的多个函数,生成目标脚本文件;

s3,基于目标脚本文件对目标数据进行分类。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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