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

基于XGBOOST的分位数预测方法、装置、计算机设备和存储介质与流程

2022-06-29 14:03:56 来源:中国专利 TAG:

基于xgboost的分位数预测方法、装置、计算机设备和存储介质
技术领域
1.本技术涉及计算机技术领域,特别是涉及一种基于xgboost的分位数预测方法、装置、计算机设备和存储介质。


背景技术:

2.随着计算机技术与人工智能技术的快速发展,需求预测的技术也在不断更新换代。需求预测,即对未来市场需求的预估。通过预测未来某一时段内客户对于产品的需求,企业可以提前购买原材料、安排生产活动,以应对客户的需求变化。因此,预测的准确性,直接影响了企业的生产计划、库存水平和客户满意度。而分位数预测是需求预测中的一种预测方法,具体是指按照百分位数进行预测的方法。器通过有目的地引入偏差来修正高于和低于预测的几率。从而掌握预测结果的波动范围。
3.目前可以通过基于xgboost的预测模型来进行需求预测,比如可以用xgboost进行销量预测,输入某个商品6月份的销量,我们可以根据这个数据来预测7月份的销量。但是预测模型给出的是每天的预测值,无法通过这个预测值了解波动情况如何,预测值的波动范围是多大,即无法通过xgboost模型进行分位数预测。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够可以有效进行分位数预测的基于xgboost的分位数预测方法、装置、计算机设备和存储介质。
5.一种基于xgboost的分位数预测方法,所述方法包括:
6.获取待预测分位数据;
7.将所述待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;
8.所述预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;根据所述预设分位范围修改所述初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。
9.在其中一个实施例中,所述根据所述预设分位范围修改所述初始xgboost模型的损失函数包括:
10.确定所述预设分位范围对应的分位数;
11.对于在所述损失函数对应的预测函数上方的样本点,根据所述分位数对应第一权重修改所述初始xgboost模型的损失函数,对于在所述损失函数对应的预测函数下方的样本点,根据所述分位数对应第二权重修改所述初始xgboost模型的损失函数。
12.在其中一个实施例中,所述根据所述分位数对应第一权重修改所述初始xgboost模型的损失函数包括:
13.根据所述分位数对应的第一权重将所述初始xgboost模型的损失函数修改为多阶
式函数。
14.在其中一个实施例中,所述基于预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型之前,还包括:
15.获取分位数预测对应的历史样本数据;
16.根据所述历史样本数据对应的预测结果数据计算所述历史样本数据对应的分位数数据;
17.根据所述历史样本数据对应的预测结果数据以及分位数数据对所述历史样本数据进行标注,获取带分位数标记的预设模型训练数据。
18.在其中一个实施例中,所述基于预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型包括:
19.将带分位数标记的预设模型训练数据输入到修改损失函数后的初始xgboost模型;
20.获取所述修改损失函数后的初始xgboost模型的分位数预测结果;
21.根据所述预设模型训练数据对应的分位数标记数据以及所述分位数预测结果对所述初始xgboost模型的目标函数进行修改,获取预设xgboost分位数预测模型。
22.在其中一个实施例中,所述根据所述预设模型训练数据对应的分位数标记数据以及所述分位数预测结果对所述初始xgboost模型的目标函数进行修改,获取预设xgboost分位数预测模型之后,还包括:
23.获取带分位数标记的模型验证数据,将所述模型验证数据输入所述预设xgboost分位数预测模型,获取分位数预测验证结果;
24.当所述分位数预测验证结果与所述预设模型验证数据对应的分位数标记数据的误差大于预设误差阈值时,根据所述预设模型验证数据对应的分位数数据以及所述分位数预测结果对所述预设xgboost分位数预测模型的目标函数进行修改,返回所述将预设模型训练数据输入到修改损失函数后的初始xgboost模型的步骤;
25.当所述分位数预测结果与所述预设验证训练数据对应的分位数数据的误差小于或等于预设阈值时,输出所述预设xgboost分位数预测模型。
26.一种基于xgboost的分位数预测装置,所述装置包括:
27.数据获取模块,用于获取待预测分位数据;
28.分位数预测模型,用于将所述待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;
29.所述预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;根据所述预设分位范围修改所述初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。
30.在其中一个实施例中,还包括模型训练模块,所述模型训练模块用于:确定所述预设分位范围对应的分位数;对于在所述损失函数对应的预测函数上方的样本点,根据所述分位数对应第一权重修改所述初始xgboost模型的损失函数,对于在所述损失函数对应的预测函数下方的样本点,根据所述分位数对应第二权重修改所述初始xgboost模型的损失函数。
31.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
32.获取待预测分位数据;
33.将所述待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;
34.所述预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;根据所述预设分位范围修改所述初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。
35.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
36.获取待预测分位数据;
37.将所述待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;
38.所述预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;根据所述预设分位范围修改所述初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。
39.上述基于xgboost的分位数预测方法、装置、计算机设备和存储介质,通过获取待预测分位数据;将待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;根据预设分位范围修改初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。本技术基于预设的分位范围对初始xgboost模型的损失函数进行修改,让xgboost模型可以满足分位数预测的要求,基于xgboost模型获取分位数,从而对输入数据的波动进行预测。
附图说明
40.图1为一个实施例中分位数预测方法的应用环境图;
41.图2为一个实施例中分位数预测方法的流程示意图;
42.图3为一个实施例中根据预设分位范围修改初始xgboost模型的损失函数步骤的流程示意图;
43.图4为一个实施例中获取带分位数标记的预设模型训练数据步骤的流程示意图;
44.图5为一个实施例中获取预设xgboost分位数预测模型步骤的流程示意图;
45.图6为一个实施例中分位数预测装置的结构框图;
46.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
47.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
48.本技术提供基于xgboost的分位数预测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与分位数预测服务器104通过网络进行通信。终端102可以向分位数预测服务器104发送待预测分位数据,以通过分位数预测服务器104来进行分位数预测,分位数预测服务器104获取待预测分位数据;将待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;预设xgboost分位数预测模型的训练过程包括:获取预设分位范围以及初始xgboost模型;根据预设分位范围修改初始xgboost模型的损失函数;基于预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,分位数预测服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
49.在一个实施例中,如图2所示,提供了一种基于xgboost的分位数预测方法,以该方法应用于图1中的分位数服务器104为例进行说明,包括以下步骤:
50.步骤201,获取待预测分位数据。
51.其中,分位数是一种按照百分位数进行预测的方法。其中分位数是用于描述预测值波动的数据,例如对于商品a,对于其销量预测的话,可以将商品6月的销量数据作为输入数据,通过预测模型来对商品7月的销量进行预测。但是预测得到的是7月中每一个销售日的销量预测数据,但是无法通过这个预测值了解销售数据的波动情况如何,预测值的波动范围是多大。此时可以通过分位数预测来对数据的波动情况进行预测。对于一组离散数据,拟合函数对应的上下样本分配较为均匀,而如对于95%的分位数预测,意味着95%的样本数据在95%的分位数函数下方,以达到分位数预测的目的。同时,对于5%的分位数预测,意味着5%的样本数据在5%的分位数函数下方。通过同时预测95%和5%分位数的函数,就可以掌握了一个大致准确的数据波动范围。
52.具体地,待预测分位数据具体是指用于分位数预测的基础数据,如在一个具体的实施例中,本技术的分位数预测方法用于对某店铺内商品a的下月销量的分位数进行预测。如在销量预测中是使用商品a的本月销量来预测下月销量的话,对于分位数预测的话,也可以将商品a的本月销量作为分位数预测的基础数据。即通过商品a的本月销量来预测下月销量的分位数数据。
53.步骤203,将待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果。
54.其中,预设xgboost分位数预测模型是指基于xgboost模型构建的分位数预测模型,xgboost是一个机器学习模型,它可以做分类任务或者回归任务,如可以用xgboost来进行销量预测。但是xgboost并没有直接提供一个分位数预测的方法。本技术具体通过修改xgboost模型中的损失函数,完成对xgboost的模型的改造,使其能进行分位数的预测。
55.具体地,可以预先基于xgboost模型来构建分位数预测模型,通过构建损失函数来构建初始的预测模型,并基于带标注的模型训练数据来完成模型的训练,从而可以通过训练完成的分位数预测模型以及待预测分位数据来完成分位数预测的工作。
56.本技术中预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;获取预设分位范围以及初始xgboost模型;根据预设分位范围修改初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后
的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。基于预设的分位范围对初始xgboost模型的损失函数进行修改,让xgboost模型可以满足分位数预测的要求,基于xgboost模型获取分位数,从而对输入数据的波动进行预测。
57.上述基于xgboost的分位数预测方法、装置、计算机设备和存储介质,通过获取待预测分位数据;将待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;预设xgboost分位数预测模型的训练过程包括:获取预设分位范围以及初始xgboost模型;根据预设分位范围修改初始xgboost模型的损失函数;基于预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。本技术基于预设的分位范围对初始xgboost模型的损失函数进行修改,让xgboost模型可以满足分位数预测的要求,基于xgboost模型获取分位数,从而对输入数据的波动进行预测。
58.在一个实施例中,如图3所示,根据预设分位范围修改初始xgboost模型的损失函数包括:
59.步骤302,确定预设分位范围对应的分位数。
60.步骤304,对于在损失函数对应的预测函数上方的样本点,根据分位数对应第一权重修改初始xgboost模型的损失函数,对于在损失函数对应的预测函数下方的样本点,根据分位数对应第二权重修改初始xgboost模型的损失函数。
61.其中,预设分位范围对应的分位数用于确定对损失函数进行修改的第一权重与第二权重。如选定的预设分位范围为90%,即进行90%的分位数拟合,此时可以确定该分位范围对应的分位数位0.9。
62.具体的,本技术方案的核心思想是通过修改xgboost损失函数的方式来进行分位数预测。假设选定的氛围范围为90%的分位范围,则可以选取的分位数是0.9,那么,则对于在xgboost模型的预测函数上方的样本点,可以在损失函数中乘上分位数相应的第一权重0.9;同时对于在预测函数下方的样本点,则可以在损失函数中乘上第二权重0.1。经过这样处理之后,上方样本点的损失被放大了,从而让xgboost模型的预测函数上移,达到分位数预测的效果。具体地,本技术中修改后的初始xgboost模型的损失函数具体为:
[0063][0064]
其中q为分位数的预测值,y为模型训练过程中样本数据对应的真实结果值,如对于销量的分位数预测,y为销量的真实结果值。a为分位数对应第一权重,(1-a)为分位数对应的第二权重。上述公式表示,对于任何一个样本,原本的损失为(x-q)2。现在是添加了一个权重,如果真实值大于预测值,那么误差乘上权重a,如果真实值小于预测值,那么误差乘上权重(1-a)。本实施例中,通过分位数对应第一权重以及第二权重,对xgboost模型的损失函数进行修改,以使其满足分位数预测的需求,从而保证分位数预测的有效性。
[0065]
在其中一个实施例中,根据分位数对应第一权重修改初始xgboost模型的损失函数包括:根据分位数对应的第一权重将初始xgboost模型的损失函数修改为多阶式函数。
[0066]
其中,可以根据分位数对应的第一权重将初始xgboost模型的损失函数修改为多阶式函数从而避免分位数预测欠拟合。
[0067]
具体地,分位数预测主要使用的损失函数为:
[0068][0069]
其中q为分位数的预测值,y为模型训练过程中样本数据对应的真实结果值,如对于销量的分位数预测,y为销量的真实结果值。即误差采用的差值的形式,而不是平方的形式。误差再乘上权重,来进行分位数预测的训练。但是如果在xgboost中直接使用这个损失函数会出现问题。具体地,xgboost是一个树模型,它的预测是基于树的节点分裂进行的。其训练过程会生成相应的预测树,xgboost可以通过输入的特征,根据预测树找到对应的预测值。同时,xgboost是根据以下公式来判断一个节点是否需要分裂的:
[0070][0071]
其中,公式第一项对应着如果分裂后的左节点,第二项对应着分裂后的右节点,第三项对应着分列前的节点。i
l
指的是左节点所有样本集合;ir指的是右节点所有样本集合;i指的是原节点所有样本集合。g是指损失函数对预测值进行一阶求导在样本i上的值,h是指损失函数对预测值进行二阶求导在样本i上的值。如果使用现有技术,即使用上述的损失函数,损失函数对于q的一阶导数和二阶导数都是常数,这意味着l
split
=0。即节点无法分裂。则所有样本都只能集中在很少的节点上,预测值都一样,容易造成欠拟合。而如果使用本方案中提到的损失函数,由于误差是以多阶式函数的形式来表示,那么一阶导数就不再是常数,从而有效地解决了分位数预测可能出现的欠拟合问题。保证模型预测的准确性。
[0072]
在其中一个实施例中,如图4所示,基于预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型之前,还包括:
[0073]
步骤401,获取分位数预测对应的历史样本数据。
[0074]
步骤403,根据历史样本数据对应的预测结果数据计算历史样本数据对应的分位数数据。
[0075]
步骤405,根据历史样本数据对应的预测结果数据以及分位数数据对历史样本数据进行标注,获取带分位数标记的预设模型训练数据。
[0076]
具体地,可以通过历史样本数据来构建用于模型训练的预设模型训练数据。先可以批量获取用于分位数预测的历史样本数据,样本数据中不仅包含用于预测结果的特征数据以及预测结果数据,还可以基于这些预测结果数据,以及模型所需的待预测分位数据,来对预设模型训练数据进行分位数标注,从而获得附带有预测结果数据以及分位数数据的数据。同时在后续的模型训练过程中,即可通过这些预设模型训练数据来完成对初始xgboost模型的训练。在本实施例中,通过历史样本数据对应的预测结果数据以及分位数数据来对历史样本数据进行标注,从而得到用于模型训练的预设模型训练数据,可以有效保证模型训练的效果与效率,从而提高分位数预测的准确性。
[0077]
在其中一个实施例中,如图5所示,在其中一个实施例中,基于预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型包括:
[0078]
步骤502,将带分位数标记的预设模型训练数据输入到修改损失函数后的初始xgboost模型。
[0079]
步骤504,获取修改损失函数后的初始xgboost模型的分位数预测结果。
[0080]
步骤506,根据预设模型训练数据对应的分位数标记数据以及分位数预测结果对初始xgboost模型的目标函数进行修改,获取预设xgboost分位数预测模型。
[0081]
具体地,在模型训练过程中,具体可以将带分位数标记的预设模型训练数据输入到修改损失函数后的初始xgboost模型,输入的具体为预设模型训练数据中的特征数据,而后初始xgboost模型基于特征数据来进行分位数预测,得到对于模型训练的分位数预测结果。同时在模型训练过程中,可以根据预设模型训练数据对应的分位数标记数据以及分位数预测结果对初始xgboost模型的目标函数进行修改,同时通过不断地训练,在初始xgboost模型中不断构建新的xgboost预测树,提高xgboost模型的预测准确性。在通过预设模型训练数据训练完成预设轮次,尽可能地构建完预测树之后,就可以获得最终的预设xgboost分位数预测模型。本实施例中,通过将带分位数标记的预设模型训练数据,来对修改损失函数后的初始xgboost模型进行训练,从而得到最终的预测模型。可以保证最终的预测模型的目标函数与预测树的可用性,从而提高模型分位数预测的准确性。
[0082]
在其中一个实施例中,步骤506之后,还包括:获取带分位数标记的模型验证数据,将模型验证数据输入预设xgboost分位数预测模型,获取分位数预测验证结果;当分位数预测验证结果与预设模型验证数据对应的分位数标记数据的误差大于预设误差阈值时,根据预设模型验证数据对应的分位数数据以及分位数预测结果对预设xgboost分位数预测模型的目标函数进行修改,返回将预设模型训练数据输入到修改损失函数后的初始xgboost模型的步骤;当分位数预测结果与预设验证训练数据对应的分位数数据的误差小于或等于预设阈值时,输出预设xgboost分位数预测模型。
[0083]
具体地,在训练完得到预设xgboost分位数预测模型之后,还需要对训练完成的模型进行验证,确定得到的模型是否可用。此时可以用区别于模型训练的数据的模型验证数据来完成模型验证的工作。模型验证数据与模型训练数据都包含输入特征,真实结果以及分位数标记,通过将模型验证数据输入预设xgboost分位数预测模型,获取分位数预测验证结果,通过将分位数预测验证结果与分位数标记进行对比,而后获取两者间的误差,如果误差过大时,则需要重新进行训练,而如果误差小于或等于预设阈值时,则可以直接输出预设xgboost分位数预测模型。本实施例中,通过带分位数标记的模型验证数据来对训练完成的预设xgboost分位数预测模型进行验证,通过是否通过验证来对模型可用性进行判断,可以进一步地保证所得的预设xgboost分位数预测模型,能准确地依据输入特征来完成对分位数的预测。
[0084]
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0085]
在一个实施例中,如图6所示,提供了一种基于xgboost的分位数预测装置,包括:
[0086]
数据获取模块601,用于获取待预测分位数据;
[0087]
分位数预测模型603,用于将待预测分位数据输入预设xgboost分位数预测模型,
获取分位数预测结果;预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;根据预设分位范围修改初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。
[0088]
在其中一个实施例中,还包括模型训练模块,模型训练模块用于:确定预设分位范围对应的分位数;对于在损失函数对应的预测函数上方的样本点,根据分位数对应第一权重修改初始xgboost模型的损失函数,对于在损失函数对应的预测函数下方的样本点,根据分位数对应第二权重修改初始xgboost模型的损失函数。
[0089]
在其中一个实施例中,模型训练模块还用于:根据分位数对应的第一权重将初始xgboost模型的损失函数修改为多阶式函数。
[0090]
在其中一个实施例中,还包括数据标注模块,数据标注模块用于:获取分位数预测对应的历史样本数据;根据历史样本数据对应的预测结果数据计算历史样本数据对应的分位数数据;根据历史样本数据对应的预测结果数据以及分位数数据对历史样本数据进行标注,获取带分位数标记的预设模型训练数据。
[0091]
在其中一个实施例中,模型训练模块还用于:将带分位数标记的预设模型训练数据输入到修改损失函数后的初始xgboost模型;获取修改损失函数后的初始xgboost模型的分位数预测结果;根据预设模型训练数据对应的分位数标记数据以及分位数预测结果对初始xgboost模型的目标函数进行修改,获取预设xgboost分位数预测模型。
[0092]
在其中一个实施例中,还包括模型验证模块,模型验证模块用于:获取带分位数标记的模型验证数据,将模型验证数据输入预设xgboost分位数预测模型,获取分位数预测验证结果;当分位数预测验证结果与预设模型验证数据对应的分位数标记数据的误差大于预设误差阈值时,根据预设模型验证数据对应的分位数数据以及分位数预测结果对预设xgboost分位数预测模型的目标函数进行修改,返回模型训练模块执行将预设模型训练数据输入到修改损失函数后的初始xgboost模型的步骤;当分位数预测结果与预设验证训练数据对应的分位数数据的误差小于或等于预设阈值时,输出预设xgboost分位数预测模型。
[0093]
关于分位数预测装置的具体限定可以参见上文中对于分位数预测方法的限定,在此不再赘述。上述分位数预测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0094]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储分位数预测数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分位数预测方法。
[0095]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0096]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0097]
获取待预测分位数据;
[0098]
将待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;
[0099]
预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;根据预设分位范围修改初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。
[0100]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定预设分位范围对应的分位数;对于在损失函数对应的预测函数上方的样本点,根据分位数对应第一权重修改初始xgboost模型的损失函数,对于在损失函数对应的预测函数下方的样本点,根据分位数对应第二权重修改初始xgboost模型的损失函数。
[0101]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据分位数对应的第一权重将初始xgboost模型的损失函数修改为多阶式函数。
[0102]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取分位数预测对应的历史样本数据;根据历史样本数据对应的预测结果数据计算历史样本数据对应的分位数数据;根据历史样本数据对应的预测结果数据以及分位数数据对历史样本数据进行标注,获取带分位数标记的预设模型训练数据。
[0103]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将带分位数标记的预设模型训练数据输入到修改损失函数后的初始xgboost模型;获取修改损失函数后的初始xgboost模型的分位数预测结果;根据预设模型训练数据对应的分位数标记数据以及分位数预测结果对初始xgboost模型的目标函数进行修改,获取预设xgboost分位数预测模型。
[0104]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取带分位数标记的模型验证数据,将模型验证数据输入预设xgboost分位数预测模型,获取分位数预测验证结果;当分位数预测验证结果与预设模型验证数据对应的分位数标记数据的误差大于预设误差阈值时,根据预设模型验证数据对应的分位数数据以及分位数预测结果对预设xgboost分位数预测模型的目标函数进行修改,返回将预设模型训练数据输入到修改损失函数后的初始xgboost模型的步骤;当分位数预测结果与预设验证训练数据对应的分位数数据的误差小于或等于预设阈值时,输出预设xgboost分位数预测模型。
[0105]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0106]
获取待预测分位数据;
[0107]
将待预测分位数据输入预设xgboost分位数预测模型,获取分位数预测结果;
[0108]
预设xgboost分位数预测模型由以下方式训练得到:获取预设分位范围以及初始xgboost模型;根据预设分位范围修改初始xgboost模型的损失函数;基于带分位数标记的预设模型训练数据对修改损失函数后的初始xgboost模型进行训练,获取预设xgboost分位数预测模型。
[0109]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定预设分位范
围对应的分位数;对于在损失函数对应的预测函数上方的样本点,根据分位数对应第一权重修改初始xgboost模型的损失函数,对于在损失函数对应的预测函数下方的样本点,根据分位数对应第二权重修改初始xgboost模型的损失函数。
[0110]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据分位数对应的第一权重将初始xgboost模型的损失函数修改为多阶式函数。
[0111]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取分位数预测对应的历史样本数据;根据历史样本数据对应的预测结果数据计算历史样本数据对应的分位数数据;根据历史样本数据对应的预测结果数据以及分位数数据对历史样本数据进行标注,获取带分位数标记的预设模型训练数据。
[0112]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将带分位数标记的预设模型训练数据输入到修改损失函数后的初始xgboost模型;获取修改损失函数后的初始xgboost模型的分位数预测结果;根据预设模型训练数据对应的分位数标记数据以及分位数预测结果对初始xgboost模型的目标函数进行修改,获取预设xgboost分位数预测模型。
[0113]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取带分位数标记的模型验证数据,将模型验证数据输入预设xgboost分位数预测模型,获取分位数预测验证结果;当分位数预测验证结果与预设模型验证数据对应的分位数标记数据的误差大于预设误差阈值时,根据预设模型验证数据对应的分位数数据以及分位数预测结果对预设xgboost分位数预测模型的目标函数进行修改,返回将预设模型训练数据输入到修改损失函数后的初始xgboost模型的步骤;当分位数预测结果与预设验证训练数据对应的分位数数据的误差小于或等于预设阈值时,输出预设xgboost分位数预测模型。
[0114]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0115]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0116]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献