一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息处理方法、装置、设备及存储介质与流程

2021-12-07 20:54:00 来源:中国专利 TAG:


1.本技术涉及大数据技术,尤其涉及一种信息处理方法、装置、设备及存储介质。


背景技术:

2.spark是专为大规模数据处理而设计的快速通用的计算引擎。相比hadoop,spark启用了内存分布数据集,除了能够提供交互式查询外,还可以优化迭代工作负载,支持分布式数据集上的迭代作业。
3.实际应用中,用户提交一个spark任务之后,这个spark任务会启动一个对应的驱动进程,由该驱动进程需要向集群管理器申请运行spark任务的执行器(executor);而集群管理器会根据用户为该spark任务设置的参数,在集群中的各个工作节点上,启动一定数量的执行器,每个执行器占用一定数量的内存和处理器核。
4.在实现本技术过程中,发明人发现现有技术中至少存在如下问题:spark任务的参数是由相关人员根据历史经验一一确定的,效率低且耗费大量的人力。


技术实现要素:

5.本技术实施例提供一种信息处理方法、装置、设备及存储介质,可以高效率地确定spark任务的参数,节省人力。
6.第一方面,本技术实施例提供一种信息处理方法,包括:
7.获取目标spark任务对应的目标特征;
8.根据目标特征和参数确定模型,确定目标spark任务的参数,参数确定模型用于预测spark任务的参数,参数确定模型是根据spark任务的历史运行信息训练得到的。
9.一种可能的实施方式中,上述根据目标特征和参数确定模型,确定目标spark任务的参数,包括:
10.参数化目标特征,得到目标特征的编码值;
11.将编码值输入参数确定模型,得到目标spark任务的参数。
12.一种可能的实施方式中,上述根据特征值和参数确定模型,确定目标spark任务的参数之后,还包括:
13.设置目标spark任务的参数;或者,
14.将目标spark任务的当前参数调整为通过参数确定模型得到的参数。
15.一种可能的实施方式中,上述参数确定模型是通过以下步骤训练得到的:
16.获取spark任务的历史运行信息;
17.从历史运行信息中提取spark任务的特征信息;
18.基于spark任务的特征信息迭代训练初始参数确定模型,直至计算得到的评估指标值满足预设评估条件;
19.确定评估指标值满足预设评估条件时对应的模型为参数确定模型;
20.其中,初始参数确定模型与参数确定模型的结构相同。
21.第三方面,本技术实施例提供一种参数确定模型的训练方法,包括:
22.获取spark任务的历史运行信息;
23.从历史运行信息中提取spark任务的特征信息;
24.基于spark任务的特征信息迭代训练初始参数确定模型,直至计算得到的评估指标值满足预设评估条件;
25.确定评估指标值满足预设评估条件时对应的模型为参数确定模型;
26.其中,初始参数确定模型与参数确定模型的结构相同,参数确定模型用于预测spark任务的参数。
27.一种可能的实施方式中,上述特征信息包含特征对应的特征值,基于spark任务的特征信息迭代训练初始参数确定模型,包括:
28.从特征信息包含的特征中确定目标特征;
29.基于目标特征及目标特征对应的特征值,迭代训练初始参数确定模型。
30.一种可能的实施方式中,上述从特征信息包含的特征中确定目标特征,包括:
31.基于各特征对应的特征值,确定各特征之间的相关度;
32.将相关度满足预设相似度条件的特征确定为目标特征。
33.一种可能的实施方式中,还包括:在迭代训练得到所述参数确定模型之后,采用交叉验证的方式,确定所述参数确定模型的参数。
34.第三方面,本技术实施例提供一种信息处理装置,包括:
35.获取模块,用于获取目标spark任务对应目标特征的编码值;
36.确定模块,用于根据编码值和参数确定模型,确定目标spark任务的参数值,参数确定模型用于预测spark任务的参数,参数确定模型是根据spark任务的历史运行信息训练得到的。
37.一种可能的实施方式中,确定模块具体用于:
38.参数化目标特征,得到目标特征的编码值;
39.将编码值输入参数确定模型,得到目标spark任务的参数。
40.一种可能的实施方式中,确定模块还用于:
41.设置目标spark任务的参数;或者,
42.将目标spark任务的当前参数调整为通过参数确定模型得到的参数。
43.一种可能的实施方式中,参数确定模型是通过以下步骤训练得到的:
44.获取spark任务的历史运行信息;
45.从历史运行信息中提取spark任务的特征信息;
46.基于spark任务的特征信息迭代训练初始参数确定模型,直至计算得到的评估指标值满足预设评估条件;
47.确定评估指标值满足预设评估条件时对应的模型为参数确定模型;
48.其中,初始参数确定模型与参数确定模型的结构相同。
49.第四方面,本技术实施例提供一种参数确定模型的训练装置,包括:
50.获取模块,用于获取spark任务的历史运行信息;
51.提取模块,用于从历史运行信息中提取spark任务的特征信息;
52.训练模块,用于基于spark任务的特征信息迭代训练初始参数确定模型,直至计算
得到的评估指标值满足预设评估条件;
53.确定模块,用于确定评估指标值满足预设评估条件时对应的模型为参数确定模型;
54.其中,初始参数确定模型与参数确定模型的结构相同,参数确定模型用于预测spark任务的参数。
55.一种可能的实施方式中,特征信息包含特征对应的特征值,训练模块具体用于:
56.从特征信息包含的特征中确定目标特征;
57.基于目标特征及目标特征对应的特征值,迭代训练初始参数确定模型。
58.一种可能的实施方式中,训练模块具体用于:
59.基于各特征对应的特征值,确定各特征之间的相关度;
60.将相关度满足预设相似度条件的特征确定为目标特征。
61.一种可能的实施方式中,还包括:
62.验证模块,用于采用交叉验证的方式,确定参数确定模型的参数。
63.第五方面,本技术实施例提供一种电子设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如第一方面和/或第二方面中任一项所述的方法。
64.第六方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行如第一方面和/或第二方面中任一项所述的方法。
65.第七方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序在电子设备上运行时,使得电子设备执行如第一方面和/或第二方面中任一项所述的方法。
66.本技术实施例提供的信息处理方法、装置、设备及存储介质,获取目标spark任务对应的目标特征;根据目标特征和参数确定模型,确定目标spark任务的参数,参数确定模型用于预测spark任务的参数,参数确定模型是根据spark任务的历史运行信息训练得到的。通过本技术可以自动调整spark任务参数,在降低人力成本的同时,可以提升获得spark任务参数的效率。
67.本技术的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
68.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
69.图1为本技术一实施例提供的信息处理方法的应用场景示意图;
70.图2为本技术一实施例提供的信息处理方法的流程示意图;
71.图3为本技术另一实施例提供的信息处理方法的流程示意图;
72.图4为本技术一实施例提供的参数确定模型的训练方法的流程示意图;
73.图5为本技术一实施例提供的信息处理装置的结构示意图;
74.图6为本技术一实施例提供的参数确定模型的训练装置的结构示意图;
75.图7为本技术一实施例提供的电子设备的结构示意图。
76.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
77.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
78.首先,对本技术实施例所涉及到的部分术语做如下解释:
79.rest api:是一组关于如何构建web应用程序api的架构规则、标准或指导,rest api遵循api原则的架构风格,bairest是专门针对web应用程序而设计的,其目的在于降低开发的复杂度,提高系统的可伸缩性。
80.spark:是uc berkeley amp lab所开源的并行计算框架,主要用于处理大数据量下批量处理和准实时计算。spark任务是在spark中执行的用户编写的业务功能代码。
81.one

hot编码:独热编码,又称为一位有效编码,主要是采用n位状态寄存器来对n个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。one

hot编码是分类变量作为二进制向量的表示,首先要求将分类值映射到整数值,然后,每个整数值被表示为二进制向量,除了整数值的索引之外,其他它均为零值,整数值的索引被标记为1。
82.考虑到目前数据仓库的spark任务参数都需要人工手工调整,每次调整都需要人工对spark任务进行压测,才能得到响应的spark任务的任务参数,此过程效率低且需要消耗很大的人力。
83.针对上述问题,本技术提供一种信息处理方法、装置、设备及存储介质,根据任务的运行情况利用机器学习自动调整任务参数,可以在降低人力成本的同时,提升获得spark任务参数的效率。
84.示例性地,图1为本技术一实施例提供的信息处理方法的应用场景示意图。如图1所示,该应用场景可以包括:客户端101和服务器102。
85.在本技术的实施例中,客户端101可以为任意类型的客户端,比如,可以是机器类通信的用户设备。客户端101也可称之为用户设备(user equipment,ue)、移动台(mobile station,ms)、移动终端(mobile terminal)、终端(terminal)等,例如,客户端101例可以为台式电脑、笔记本、个人数字助理(personal digital assistant,简称:pda)、智能手机、平板电脑、汽车产品、可穿戴设备等设备,本场景以台式电脑为例进行示出。
86.服务器102可以包括提供处理、数据库、通讯设施的业务点。服务器102可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器或服务器集群。服务器102可以是各种类型的,例如但不限于,网络服务器,消息服务器,应用服务器,交互服务器,数据库服务器,或代理服务器等。
87.其中,客户端101可以通过无线或有线网络与服务器102通信,用于发送数据给服务器102。其中,无线网络可以是2g或者3g或者4g或者5g等通信网络,也可以是无线局域网,
在此不做限定。
88.在实际应用中,上述客户端101可以部署在spark环境中的服务器10上,当客户端101获取数据后,服务器102启动spark计算任务,使得spark可以根据spark中可以根据任务参数和相关的辅助数据等对获得的数据进行计算,生成计算结果。
89.在本技术实施例中,服务器102中部署有参数确定模型,当需要进行spark计算任务时,服务器102先根据参数确定模型确定spark任务的任务参数,再根据确定的任务参数和相关的辅助数据等对获得的数据进行计算,生成计算结果。
90.需要说明的是,附图1仅是本技术实施例提供的一种应用场景的示意图,本技术实施例不对图1中包括的设备及设备个数进行限定,也不对图1中设备之间的位置关系进行限定,例如,在图1所示的应用场景中,还可以包括数据存储设备,该数据存储设备相对服务器102可以是外部存储器,也可以是集成在服务器102中的内部存储器。另外,服务器102可以是独立的服务器,或者,也可以是服务集群等。
91.下面,通过具体实施例对本技术的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
92.图2为本技术一实施例提供的信息处理方法的流程示意图。本技术实施例提供一种信息处理方法,应用于信息处理装置,该装置可以通过软件和/或硬件的方式实现。可选地,在图1所示场景中,该信息处理装置可以集成于如图1所示的服务器中,例如信息处理装置为服务器中的芯片或电路;或者,该信息处理装置为如图1所示的服务器。接下来,以服务器作为执行主体进行示例说明。
93.如图2所示,该信息处理方法包括如下步骤:
94.s201、获取目标spark任务对应的目标特征。
95.在实际应用中,不同的spark任务对应于不同的目标特征,可以根据spark任务与目标特征之间的对应关系确定目标特征,也就是说,目标特征与目标spark任务的预先绑定的。对于spark任务与目标特征之间的对应关系,可以根据实际的目标spark任务的需求进行设定,本技术实施例不做具体限定。
96.具体的,目标特征具体可以包括以下几种类型中的至少一种:任务appinfo数据、job数据、stage数据、excutor数据、实验(environment)数据、tasksummary数据等。
97.其中,任务appinfo数据具体可以包括以下特征中的至少一种:应用id、任务id、任务实例id、集群、集市、用户、队列、开始时间、结束时间、执行时长等。
98.具体的,job数据具体可以包括以下特征中的至少一种:应用id、jobid、提交时间、完成时间;
99.stage数据具体可以包括以下特征中的至少一种:应用id、尝试次数id、jobid、stageid、stage尝试次数、任务个数、输入字节、输入记录,输出字节、输出记录、shuffle读字节、shuffle读记录、shuffle写字节、shuffle记录、spilled内存、spilled磁盘等;
100.excutor数据具体可以包括以下特征中的至少一种:应用id、尝试次数id、执行id、jvm堆内存、堆执行内存、堆外执行内存、主要gc次数、主要gc时间、次要gd次数、次要gc时间等;
101.environment数据具体可以包括以下特征中的至少一种:应用id、excutor实例个
数、excutor核数、excutor内存、partition数量等;
102.tasksummary数据具体可以包括以下特征中的至少一种:应用id、jobid、stageid、读入字节数、读入记录数、shuffle读字节、shuffle读记录、shuffle写字节、shuffle记录等。
103.s202、根据目标特征和参数确定模型,确定目标spark任务的参数。
104.其中,参数确定模型用于预测spark任务的参数,参数确定模型是根据spark任务的历史运行信息训练得到的。
105.在实际应用中,本技术实施例对于参数确定模型的类型不做具体限定。一方面,参数确定模型可以为xgboost模型,另一方面,参数确定模型也可以为随机森林模型以及决策树模型。
106.示例性的,本技术实施例使用xgboost模型这一模型作为主干网络(backbone)举例说明,通过将目标特征输入到xgboost模型中进行处理,确定目标spark任务的参数,至于目标spark任务的参数的具体获取方式,可参考后续实施例。
107.本技术实施例提供的信息处理方法,获取目标spark任务对应的目标特征;根据目标特征和参数确定模型,确定目标spark任务的参数,参数确定模型用于预测spark任务的参数,参数确定模型是根据spark任务的历史运行信息训练得到的。通过本技术可以自动调整spark任务参数,在降低人力成本的同时,可以提升获得spark任务参数的效率。
108.在上述实施例的基础上,进一步地,s202、根据目标特征和参数确定模型,确定目标spark任务的参数,具体可以包括如下步骤:
109.(1)参数化目标特征,得到目标特征的编码值。
110.在机器学习算法中,需要对上述目标特征进行计算分类。然而上述目标特征是离散的、无序的,并非连续的特征,参数确定模型无法直接应用,因此,在根据目标特征和参数确定模型确定目标spark任务的参数时,需要将目标特征进行参数化。
111.需要说明的是,本技术实施例对于将目标特征参数化的方案不做具体限定,例如,可以采用one

hot编码的方法,将目标特征参数化,以获得目标特征的编码值。
112.在实际应用中,可以根据目标特征与编码值之间的对应关系确定目标特征的编码值。具体的,可以通过如下方法获得目标特征与编码值之间的对应关系:
113.首先要求将特征值映射到整数值,然后,每个整数值被表示为二进制向量,除了整数值的索引之外,其他它均为零值,整数值的索引被标记为1。下面结合具体示例对采用one

hot编码的方法将目标特征参数化的过程进行说明:
114.以目标特征为excutor数据中的excutor内存为例,例如,当excutor内存有4g、6g、8g、10g、12g几种分类时,可以根据如下表1所示的部分excutor内存与其索引之间的对应关系表,确定每个excutor内存对应索引值,再根据该excutor内存的索引值,确定该excutor内存的编码值:
115.表1 excutor内存与其索引之间的对应关系表
[0116][0117]
由上述表1可以得出,当excutor内存为4g时,其对应的编码值为:10000;当excutor内存为6g时,其对应的编码值为:01000;当excutor内存为8g时,其对应的编码值为:00100当excutor内存为10g时,其对应的编码值为:00010当excutor内存为12g时,其对应的编码值为:00001。
[0118]
可以理解的是,其他目标特征对应的编码值的确定方案与上述方案类似,此处不再一一赘述。
[0119]
(2)将编码值输入参数确定模型,得到目标spark任务的参数。
[0120]
具体的,将编码值输入值参数确定模型,即可得到目标spark任务的参数。需要说明的是,对于参数确定模型根据编码值确定目标spark任务的参数的具体方案可参考现有技术中的方案,此处不再赘述。
[0121]
在上述实施例的基础上,进一步地,s202、根据目标特征和参数确定模型,确定目标spark任务的参数之后,还需要根据确定的目标spark任务的参数,调整目标spark任务,以通过调整后的目标spark任务执行相应的业务。具体的可以通过如下方式调整目标spark任务:
[0122]
一方面,可以通过设置目标spark任务的参数,来调整目标spark任务;
[0123]
可以理解的是,若目标spark任务为初次使用,也即目标spark任务当前还未设置过参数时,直接将确定的目标spark任务的参数设置为目标spark任务的参数。
[0124]
另一方面,还可以将目标spark任务的当前参数调整为通过参数确定模型得到的参数,来调整目标spark任务。
[0125]
在实际应用中,若目标spark任务为不是初次使用,即目标spark任务已设置有参数,则将目标spark任务的当前参数调整为通过参数确定模型得到的参数。
[0126]
在一些实施例中,在根据目标特征和参数确定模型,确定目标spark任务的参数之前,还需要对初始参数确定模型进行训练,以获得参数确定模型。下面结合图3对参数确定模型的训练过程进行详细说明:
[0127]
图3为本技术另一实施例提供的信息处理方法的流程图。如图3所示,本技术实施例提供的信息处理方法可以包括如下步骤:
[0128]
s301、获取spark任务的历史运行信息。
[0129]
需要说明的是,本技术实施例对于获取spark任务的历史运行信息的方式不做具
体限定,一方面,可以从服务器的存储介质中直接获取,示例性的,spark任务在运行过程中,会将spark任务的运行信息存储至存储介质中,当对参数确定模型进行训练时,从存储介质中直接获取spark任务的历史运行信息。
[0130]
另一方面,可以通过rest api获取spark任务的历史运行信息。其中,通过rest api获取spark任务的历史运行信息的方案可以采用现有技术中的方案,此处不再赘述。本方案中,通过rest api获取spark任务的历史运行信息,可以轻松对任务时长、stage等任务进行监控,同时可以配合时间序列数据库,对集群各个任务做监控,可以快速、准确的获取spark任务的历史运行信息,进一步提升模型训练效率。
[0131]
在实际应用中,对应于目标特征,spark任务的历史运行信息可以包括以下至少一种:任务appinfo数据、job数据、stage数据、excutor数据、实验(environment)数据、tasksummary数据等。
[0132]
其中,任务appinfo数据可以包括以下至少一种:应用id、任务id、任务实例id、集群、集市、用户、队列、开始时间、结束时间、执行时长等。
[0133]
具体的,job数据包含以下至少一种数据:应用id、jobid、提交时间、完成时间;
[0134]
stage数据可以包括以下至少一种:应用id、尝试次数id、jobid、stageid、stage尝试次数、任务个数、输入字节、输入记录,输出字节、输出记录、shuffle读字节、shuffle读记录、shuffle写字节、shuffle记录、spilled内存、spilled磁盘等;
[0135]
excutor数据可以包括以下至少一种:应用id、尝试次数id、执行id、jvm堆内存、堆执行内存、堆外执行内存、主要gc次数、主要gc时间、次要gd次数、次要gc时间等;
[0136]
environment数据可以包括以下至少一种:应用id、excutor实例个数、excutor核数、excutor内存、partition数量等;
[0137]
tasksummary数据可以包括以下至少一种:应用id、jobid、stageid、读入字节数、读入记录数、shuffle读字节、shuffle读记录、shuffle写字节、shuffle记录等。
[0138]
s302、从历史运行信息中提取spark任务的特征信息。
[0139]
在实际应用中,本技术实施例对于特征信息获得方法以及特征信息的格式均不做具体限定,例如,可以将上述历史运行信息加工成以应用id为主键的宽表,以获得spark任务的特征信息。
[0140]
具体的,以应用id为主键的宽表包括以下至少一种数据:应用id、运行最大jvm堆内存、运行最大堆执行内存、运行最大堆外执行内存、运行最大主要gc次数、运行最大主要gc时间、运行最大次要gd次数、运行最大次要gc时间、运行平均jvm堆内存、运行平均堆执行内存、运行平均堆外执行内存、运行平均主要gc次数、运行平均主要gc时间、运行平均次要gd次数、运行平均次要gc时间、excutor实例个数、excutor核数、excutor内存、partition数量等。
[0141]
需要说明的是,将上述历史运行信息加工成以应用id为主键的宽表的方法可参考现有技术,此处不再赘述。
[0142]
s303、基于spark任务的特征信息迭代训练初始参数确定模型,直至计算得到的评估指标值满足预设评估条件。
[0143]
其中,初始参数确定模型与参数确定模型的结构相同。例如,初始参数确定模型与参数确定模型均为xgboost模型、随机森林模型以及决策树模型中的一种,可以理解的是,
本技术实施例使用xgboost模型这一模型作为主干网络举例说明。
[0144]
下面结合步骤s3031~s3032对s303的具体方案进行详细说明:
[0145]
s3031、从特征信息包含的特征中确定目标特征。
[0146]
其中,特征信息包含特征对应的特征值。
[0147]
对于从特征信息包含的特征中确定目标特征的方法,本技术实施例不做具体限定。示例性的,该步骤可以包括:基于各特征对应的特征值,确定各特征之间的相关度,再将相关度满足预设相似度条件的特征确定为目标特征。
[0148]
在实际应用中,本技术实施例对于各特征之间的相关度的获得方法不做具体限定,示例性的,可以采用皮尔森系数的方法确定两两特征之间的相关度。
[0149]
具体的,可以根据如下公式(1)获得两两特征之间的相关度:
[0150][0151]
其中x和y分别是特征x和特征y的特征值,cov(x,y)是特征x和特征y的协方差,σ
x
是特征x的方差,σ
y
是特征y的方差,μ
x
是特征x的期望,μ
y
是特征y的期望值。
[0152]
在实际应用中,对于模型的训练集来说,特征之间的相关性越弱越好,即,ρ
x,y
的值越小越好,以尽量的减少相似性特征对模型结果的影响。因此,需要确定相关度满足预设相似度条件的特征确定为目标特征。
[0153]
在实际应用中,一方面,可以预设目标特征满足的规则,再根据两个待确定特征之间相似度大小与上述规则之间的对应关系,确定两个待确定特征满足的规则,从而确定两个待确定特征是否为目标特征。
[0154]
具体的,特征之间的相关度可以包括如下几种规则:
[0155]
(1)|ρ
x,y
|>0.95特征之间存在显著性相关;
[0156]
(2)|ρ
x,y
|≥0.8特征之间高度相关;
[0157]
(3)0.5≤|ρ
x,y
|<0.8特征之间中度相关;
[0158]
(4)0.3≤|ρ
x,y
|<0.5特征之间低度相关;
[0159]
(5)|ρ
x,y
|<0.3特征之间关系极弱,两个特征不相关。
[0160]
示例性的,可以将预设相似度条件的阈值设置为:特征之间的相关度至少为低度相关的特征为目标特征。具体的,当确定特征之间的相关度后,根据如上的相关度与规则之间的对应关系确定目标规则,当两个特征之间的关系为低度相关或者特征之间关系极弱时,确定该特征且目标特征。例如,若两个特征之间的相关度为0.2,则按照规则(5)可以得知,两个特征之间的关系极弱,此时,确定两个特征为目标特征。
[0161]
另一方面,预设相似度条件可以设置为:相关度小于预设数值的特征为目标特征,其中,对于预设数值的大小本技术实施例不做具体限定,示例性的,预设数值可以设置为0.5,即相关度小于0.5的两个特征为目标特征。
[0162]
作为一种可选方案,在获得目标特征之后,还需要对获得目标进行降维处理。
[0163]
需要说明的是,本技术实施例对于对目标特征进行降维处理的方式不做具体限定,示例性的,可以使用主成分分析技术(principal components analysis,pca)对目标特征进行降维处理,pca主要通过求数据集的协方差矩阵最大的特征值对应的特征向量,由此找到数据方差最大的几个方向,对数据达到降维的效果,将原来的n个目标特征用数目更少
的m个特征取代,新特征是旧特征的线性组合,这些线性组合最大化样本方差,尽量使新的特征互不相关,最终提升参数确定模型的准确性。
[0164]
其中,采用pca技术对目标特征进行降维处理的具体方案可以参考现有技术中的方案,此处不再赘述。
[0165]
s3032、基于目标特征及目标特征对应的特征值,迭代训练初始参数确定模型。
[0166]
本步骤中,首先需要获取目标特征对应的特征值,需要说明的是,目标特征的特征值的获取方法与图2所示实施例中提供的方案类似,具体可参考图2所示的实施例,此处不再赘述。
[0167]
s304、确定评估指标值满足预设评估条件时对应的模型为参数确定模型。
[0168]
一些实施例中,在迭代训练得到参数确定模型之后,还可以包括:采用交叉验证的方式,确定参数确定模型的参数。
[0169]
示例地,考虑到初始参数确定模型与参数确定模型的结构相同,下面以初始参数确定模型以及参数确定模型均为xgboost模型为例,对验证过程进行详细说明:
[0170]
对于xgboost模型,模型的参数可以包括如下至少一种:'booster'、'objective'、'num_class'、'gamma'、'max_depth'、'subsample'、'min_child_weight'以及'eta'等。
[0171]
其中,'booster':'gbtree',这个参数有两个值,分别为树模型和线性模型,本技术实施例中以树模型为例示出;
[0172]
'objective':'multi:softprob',用于表示每个特征样本属于各个类别的概率;
[0173]
'num_class':用于表示分类个数,示例性的,本技术内存从4g到48g,每隔2g进行分割,共包括22个分类;
[0174]
'gamma':用于表示模型的拟合程度,其中,'gamma'参数的值越大,算法越保守,表明模型不容易出现过拟合;
[0175]
'max_depth':用于表示模型的拟合程度,其中,'max_depth'参数的值越大,说明模型越容易过拟合;
[0176]
'subsample':用于控制模型随机采样的比例,'subsample'值越小,模型越保守,不容易出现过拟合;
[0177]
'min_child_weight':用于表示模型的拟合程度,其中,'min_child_weight'的值越大,表示模型越不容易过拟合;
[0178]
'eta':用于表示模型的学习率,'eta'的值越大,表明模型越不容易过拟合,但是,'eta'的值过大时也会造成欠拟合。
[0179]
假设初始参数确定模型包含n个参数,n为正整数。在验证过程中,先固定n个参数中的n

1个参数,对剩余的一个待确定的参数用不同值进行多次交叉验证,根据评估指标的变化情况,确定待确定的参数的值。
[0180]
具体的,按照预设比例将样本数据分为训练数据集和验证数据集。需要说明的是,本技术实施例对于预设比例不做具体限定,示例性的,训练数据集和验证数据集的比例可以为7:3。其中,训练数据集用于对初始参数确定模型进行训练,验证数据集用于在训练过程中对训练结果进行验证,以确定模型中参数的值。
[0181]
进一步的,对初始参数确定模型迭代训练,其中,迭代的次数与参数的类别数相
同,即对每类参数进行一轮迭代训练,直到该类型的参数验证成功,则进行下一类参数的迭代训练。需要说明的是,对于多种类别的参数的训练顺序,本技术实施例不做具体限定,例如,可以随机确定每次训练的参数,也可以按照预设的顺序进行训练。
[0182]
示例性的,以参数包括'booster'、'objective'、'num_class'、'gamma'、'max_depth'、'subsample'、'min_child_weight'和'eta'为例,此时,一共有8个参数,也即n的值为8。
[0183]
在第一轮迭代中,首先确定第一次迭代过程训练的参数,示例性的,以'gamma'为例,然后,给除了'gamma'参数以外的7个参数设置初始值;再采用训练数据集对初始参数确定模型进行训练,采用验证数据集对训练数据集训练得到的模型进行交叉验证,当参数确定模型的准确率达到准确率阈值时,验证通过,则确定'gamma'参数当前的取值为参数确定模型中'gamma'参数的值。
[0184]
进一步的,当第一轮迭代完成后,进行第二轮迭代,以第二轮迭代训练的参数为'objective'参数为例,固定除'objective'参数外的其他7个参数,采用交叉验证的方法对'objective'参数进行训练,以得到'objective'参数的值。
[0185]
本步骤中,一方面,对于已训练完成的参数,可以将该参数的值固定为训练后得到的值,将没训练过的模型参数的值固定为初始值,示例性的,结合上述,在第一轮的迭代训练中,得到'gamma'参数的值为0.1,则在本轮训练中,将'gamma'参数的值固定为0.1。
[0186]
另一方面,也可以将除了'objective'参数以外的7个参数全部设置初始值,例如,将'gamma'参数的值以及其他参数的值均固定为初始值。
[0187]
进一步的,按照上述训练方法对其他剩余的参数进行迭代训练,直到确定参数确定模型中所有参数的值,即可根据参数的值,确定参数确定模型。
[0188]
需要说明的是,本技术实施例对于交叉验证的方法不做具体限定,示例性的,交叉验证的方法可以包括以下至少一种:简单交叉验证、2

折交叉验证(2

fold cross validation,2

cv),k

折交叉验证(k

fold cross validation,k

cv)、留一验证(leave one out,loo)、保留交叉验证(hand

out cross validation)等。可以理解的是,采用上述交叉验证方法进行验证的过程,可参考现有技术,此处不再赘述。
[0189]
本方案中,通过交叉验证确定待确定的参数的值,从而获得参数确定模型,可以充分利用有限的数据找到合适的参数,防止参数确定模型过度拟合,提升参数确定模型的准确性。
[0190]
s305、获取目标spark任务对应的目标特征。
[0191]
s306、参数化目标特征,得到目标特征的编码值。
[0192]
s307、将编码值输入参数确定模型,得到目标spark任务的参数。
[0193]
s308、设置目标spark任务的参数;或者,将目标spark任务的当前参数调整为通过参数确定模型得到的参数。
[0194]
需要说明的是,步骤s305~s308与图2所示实施例中的方案类似,具体方案可参考图2所示的实施例,此处不再赘述。
[0195]
本技术实施例提供的数据处理方法,获取spark任务的历史运行信息,从历史运行信息中提取spark任务的特征信息,基于spark任务的特征信息迭代训练初始参数确定模型,直至计算得到的评估指标值满足预设评估条件,获得参数确定模型,获取目标spark任
务对应的目标特征,参数化目标特征,得到目标特征的编码值,将编码值输入参数确定模型,得到目标spark任务的参数,设置目标spark任务的参数;或者,将目标spark任务的当前参数调整为通过参数确定模型得到的参数。通过本方案,可以根据参数确定模型自动调整spark任务参数,在降低人力成本的同时,可以提升获得spark任务参数的效率。另外,在训练参数确定模型的过程中,采用了交叉验证的方式获得参数确定模型的模型参数,可以提升模型参数的准确性,进而提升参数确定模型的准确度。
[0196]
图4为本技术一实施例提供的参数确定模型的训练方法的流程示意图。本技术实施例提供一种参数确定模型的训练方法,应用于参数确定模型的训练装置,该装置可以通过软件和/或硬件的方式实现。可选地,该参数确定模型的训练装置可以集成于服务器中,例如参数确定模型的训练装置为服务器中的芯片或电路;或者,该参数确定模型的训练为服务器。接下来,以服务器作为执行主体进行示例说明。其中,本技术实施例的服务器可以为图1中所示的服务器,也可以为其他的服务器,本技术实施例不做具体限定。
[0197]
如图4所示,本技术实施例提供的信息处理方法可以包括如下步骤:
[0198]
s401、获取spark任务的历史运行信息。
[0199]
s402、从历史运行信息中提取spark任务的特征信息。
[0200]
s403、基于spark任务的特征信息迭代训练初始参数确定模型,直至计算得到的评估指标值满足预设评估条件。
[0201]
其中,初始参数确定模型与参数确定模型的结构相同,参数确定模型用于预测spark任务的参数。
[0202]
下面结合步骤s4031~s4032对s403的具体方案进行详细说明:
[0203]
s4031、从特征信息包含的特征中确定目标特征;
[0204]
基于各特征对应的特征值,确定各特征之间的相关度;
[0205]
将相关度满足预设相似度条件的特征确定为目标特征。
[0206]
s4032、基于目标特征及目标特征对应的特征值,迭代训练初始参数确定模型,获得参数确定模型。
[0207]
在每一轮迭代中,固定n个模型参数中的n

1个模型参数,对剩余的一个待确定的模型参数用不同值进行多次交叉验证,根据评估指标的变化情况,确定待确定的模型参数的值;
[0208]
进一步的,根据待确定的模型参数的值,获得参数确定模型。
[0209]
s404、确定评估指标值满足预设评估条件时对应的模型为参数确定模型。
[0210]
需要说明的是,图4所示的实施例中的步骤s401~s404的方案和有益效果与图3所示实施例中的步骤s301~~s304类似,具体可参考图3所示的实施例,此处不再赘述。
[0211]
图5为本技术一实施例提供的信息处理装置的结构示意图。本技术实施例提供一种信息处理装置,该信息处理装置可以集成在例如服务器等电子设备上。如图5所示,信息处理装置500包括:获取模块501和确定模块502。其中:
[0212]
获取模块501,获取目标spark任务对应的目标特征;
[0213]
确定模块502,用于根据目标特征和参数确定模型,确定目标spark任务的参数,参数确定模型用于预测spark任务的参数,参数确定模型是根据spark任务的历史运行信息训练得到的。
[0214]
本技术实施例提供的装置,可用于执行图2所示实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
[0215]
一种可能的实施方式中,确定模块502可以具体用于:
[0216]
参数化目标特征,得到目标特征的编码值;
[0217]
将编码值输入参数确定模型,得到目标spark任务的参数。
[0218]
一种可能的实施方式中,确定模块502还用于:
[0219]
设置目标spark任务的参数;或者,
[0220]
将目标spark任务的当前参数调整为通过参数确定模型得到的参数。
[0221]
一种可能的实施方式中,参数确定模型是通过以下步骤训练得到的:
[0222]
获取spark任务的历史运行信息;
[0223]
从历史运行信息中提取spark任务的特征信息;
[0224]
基于spark任务的特征信息迭代训练初始参数确定模型,直至计算得到的评估指标值满足预设评估条件;
[0225]
确定评估指标值满足预设评估条件时对应的模型为参数确定模型;
[0226]
其中,初始参数确定模型与参数确定模型的结构相同。
[0227]
需要说明的是,本技术实施例提供的装置,可用于执行图2~图3所示实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
[0228]
图6为本技术一实施例提供的参数确定模型训练装置的结构示意图。本技术实施例提供一种参数确定模型的训练装置,该参数确定模型的训练装置可以集成在例如服务器等电子设备上。如图6所示,参数确定模型的训练装置600包括:获取模块601、提取模块602、训练模块603和确定模块604。其中:
[0229]
获取模块601,用于获取spark任务的历史运行信息;
[0230]
提取模块602,用于从历史运行信息中提取spark任务的特征信息;
[0231]
训练模块603,用于基于spark任务的特征信息迭代训练初始参数确定模型,直至计算得到的评估指标值满足预设评估条件;
[0232]
确定模块604,用于确定评估指标值满足预设评估条件时对应的模型为参数确定模型;
[0233]
其中,初始参数确定模型与参数确定模型的结构相同,参数确定模型用于预测spark任务的参数。
[0234]
本技术实施例提供的装置,可用于执行图4所示实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
[0235]
一种可能的实施方式中,特征信息包含特征对应的特征值,训练模块603具体用于:
[0236]
从特征信息包含的特征中确定目标特征;
[0237]
基于目标特征及目标特征对应的特征值,迭代训练初始参数确定模型。
[0238]
一种可能的实施方式中,训练模块603在用于从特征信息包含的特征中确定目标特征时,具体用于:
[0239]
基于各特征对应的特征值,确定各特征之间的相关度;
[0240]
将相关度满足预设相似度条件的特征确定为目标特征。
interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该系统总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0248]
通信接口703用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。
[0249]
存储器702可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。
[0250]
处理器701可以是通用处理器,包括中央处理器、网络处理器(network processor,简称np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0251]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行如上任一方法实施例的信息处理方法和/或参数确定模型的训练方法。
[0252]
本技术实施例还提供一种运行指令的芯片,芯片用于执行如上任一方法实施例的信息处理方法和/或参数确定模型的训练方法。
[0253]
本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,至少一个处理器可以从该计算机可读存储介质中读取计算机程序,该至少一个处理器执行计算机程序时可实现如上任一方法实施例的信息处理方法和/或参数确定模型的训练方法。
[0254]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a

b,a

c,b

c,或a

b

c,其中,a,b,c可以是单个,也可以是多个。
[0255]
可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。在本技术的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
[0256]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献