基于决策树的数据计算方法、装置和计算机设备
技术领域
本申请涉及到计算机领域,特别是涉及到一种基于决策树的数据计算方法、装置、计算机设备和存储介质。
背景技术
计算机辅助计算对于现代生产和生活都有很大帮助,一般的计算方法的过程例如为:将需要计算的数据通过规则引擎进行判断,从而利用规则引擎得知该数据应采用何种计算模型来计算,再采用规则引擎确定的计算模型对该数据进行计算,从而得到计算结果。这种计算方式,对于少量数据而言并不存在太大问题,但是对于大量数据而言,会存在规则引擎负担过重、计算模型负担过重的情况。例如有1000万组数据需要计算,对应有1个规则引擎和10个计算模型,按传统的计算方式,规则引擎需要运转1000万次、计算模型的总计算次数也高达1000万次,若规则引擎的每次运转耗时0.001秒,则将消耗时间27.77小时,再加上计算模型上的耗时,可知传统方案存在负担过重、耗时过高的缺陷。
发明内容
本申请的主要目的为提供一种基于决策树的数据计算方法、装置、计算机设备和存储介质,旨在解决规则引擎负担过重、计算模型负担过重且耗时过高的缺陷。
为了实现上述发明目的,本申请提出一种基于决策树的数据计算方法,包括以下步骤:
接收对指定主体进行计算的计算指令,其中所述计算指令携带有所述指定主体的指定数据,所述指定数据包括多个子数据;
利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;
判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体;
若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据,其中所述第一类子数据与所述第一计算模型的计算结果正相关,所述第二类子数据与所述第一计算模型的计算结果非正相关;
根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类,其中所述第i个逻辑分类中的主体具有的第二类子数据的数值在预设的数值范围之内,其中i为大于0的整数,所述第i个逻辑分类是所述指定分类的子分类;
判断所述第i个逻辑分类中是否存在第二主体,所述第二主体指已利用所述第一计算模型进行计算,从而得到结果数值的主体;
若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。
进一步地,所述利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类的步骤之前,包括:
调取预存的多个样本数据,并根据预设的划分比例将所述样本数据划分为训练数据和测试数据,其中所述样本数据由预先收集的训练主体和与所述训练主体对应的类别构成;
设置决策树模型的建模标准参数,所述建模标准参数至少包括决策树的母节点的可再分的显著水平、母节点包含的最小样本数、子节点包含的最小样本数和决策树的最大层数,从而得到初始决策树模型;
利用所述训练数据训练所述初始决策树模型,从而得到中间决策树模型;
将所述测试数据输入所述中间决策树模型中进行验证,从而得到验证结果,并判断所述验证结果是否通过;
若所述验证结果通过,则将所述中间决策树模型记为主体分类模型。
进一步地,所述指定数据存储于预设的二进制存储器中,所述规则引擎存储于预设的多态存储器中,经由所述规则引擎进行运算后得到的数据也存储于所述多态存储器中,所述判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体的步骤,包括:
获取所述指定分类中的主体的数据存储位置,并判断所述数据存储位置是否指向所述多态存储器;
若所述数据存储位置指向所述多态存储器,则判定所述指定分类中存在第一主体。
进一步地,所述获取所述指定分类中的主体的数据存储位置,并判断所述数据存储位置是否指向所述多态存储器的步骤之前,包括:
统计在所述多态存储器中,所述规则引擎所占存储空间的大小,并判断所述存储空间的大小在统计时间内是否保持一致;
若所述存储空间的大小在统计时间内保持一致,则生成存储位置获取指令,所述存储位置获取指令用于指示获取所述指定分类中的主体的数据存储位置。
进一步地,所述判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体的步骤之后,包括:
若所述指定分类中不存在第一主体,则将所述指定数据输入所述规则引擎中,从而得到所述规则引擎输出的第二计算模型;
利用所述第二计算模型对所述指定数据进行计算,从而得到指定计算结果,并将指定计算结果存储在所述多态存储器中。
进一步地,所述若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据,其中所述第一类子数据与所述第一计算模型的计算结果正相关,所述第二类子数据与所述第一计算模型的计算结果非正相关的步骤之前,包括:
调取预存的测试数据M,其中所述测试数据M由多个子数据M1,M2,...,Mj,...,Mn构成,共有n个子数据,j为大于等于1且小于等于n的整数,所述测试数据M的子数据与所述指定数据的子数据一一对应;
通过仅修改子数据Mj的数值的方式修改所述测试数据M,对应得到多个修改数据,并将所述多个修改数据输入所述第一计算模型中,对应得到所述第一计算模型输出的多个计算结果;
判断所述多个计算结果的变化趋势是否与所述子数据Mj的变化趋势相同;
若所述多个计算结果的变化趋势与所述子数据Mj的变化趋势相同,则将所述子数据Mj记为第一类子数据。
进一步地,所述指定主体的计算结果是预设地点的资源消耗数量,所述若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果的步骤之后,包括:
在预设的地图中的指定位置上标注所述指定主体的计算结果,其中所述指定位置指所述指定主体所处位置,并且所述地图中还标注有其他主体的计算结果,所述地图被预先划分为多个区块;
计算所述指定主体所处区块的平均计算结果,并判断所述指定主体的计算结果是否大于所述平均计算结果;
若所述指定主体的计算结果大于所述平均计算结果,则生成资源补充提醒信息。
本申请提供一种基于决策树的数据计算装置,包括:
计算指令接收单元,用于接收对指定主体进行计算的计算指令,其中所述计算指令携带有所述指定主体的指定数据,所述指定数据包括多个子数据;
指定主体分类单元,用于利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;
第一主体判断单元,用于判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体;
子数据划分单元,用于若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据,其中所述第一类子数据与所述第一计算模型的计算结果正相关,所述第二类子数据与所述第一计算模型的计算结果非正相关;
第i个逻辑分类归类单元,用于根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类,其中所述第i个逻辑分类中的主体具有的第二类子数据的数值在预设的数值范围之内,其中i为大于0的整数,所述第i个逻辑分类是所述指定分类的子分类;
第二主体判断单元,用于判断所述第i个逻辑分类中是否存在第二主体,所述第二主体指已利用所述第一计算模型进行计算,从而得到结果数值的主体;
计算结果生成单元,用于若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于决策树的数据计算方法、装置、计算机设备和存储介质,接收对指定主体进行计算的计算指令;利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据;根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类;若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。从而解决规则引擎负担过重、计算模型负担过重且耗时过高的缺陷。
附图说明
图1为本申请一实施例的基于决策树的数据计算方法的流程示意图;
图2为本申请一实施例的基于决策树的数据计算装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于决策树的数据计算方法,包括以下步骤:
S1、接收对指定主体进行计算的计算指令,其中所述计算指令携带有所述指定主体的指定数据,所述指定数据包括多个子数据;
S2、利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;
S3、判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体;
S4、若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据,其中所述第一类子数据与所述第一计算模型的计算结果正相关,所述第二类子数据与所述第一计算模型的计算结果非正相关;
S5、根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类,其中所述第i个逻辑分类中的主体具有的第二类子数据的数值在预设的数值范围之内,其中i为大于0的整数,所述第i个逻辑分类是所述指定分类的子分类;
S6、判断所述第i个逻辑分类中是否存在第二主体,所述第二主体指已利用所述第一计算模型进行计算,从而得到结果数值的主体;
S7、若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。
本申请的目的在于尽量减少规则引擎与计算模型的使用次数,以解决规则引擎负担过重、计算模型负担过重且耗时过高的缺陷。
如上述步骤S1所述,接收对指定主体进行计算的计算指令,其中所述计算指令携带有所述指定主体的指定数据,所述指定数据包括多个子数据。其中所述指定数据可为任意可行数据,例如为某地区的资源数据,相应地,所述计算指令则用于计算所述资源的消耗数量等。
如上述步骤S2所述,利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类。其中决策树是一种机器学习方法,适用于数据分类,从而将所述指定主体归类为指定分类。决策树是树状结构网络,其初始节点为树状结构网络的根节点,树状结构网络的不可再分的节点为叶节点,在根节点与叶节点之间的节点称为子节点。通过决策树的树状结构网络,能够在每个节点对数据进行细分,最终落到不可再分的叶节点,该叶节点代表的分类即为输入数据的分类。本申请的决策树可为任意可行决策树,例如为卡方自动交互检测法(CHAID)、快速无偏有效统计数法(QUEST)建立的决策树,优先CHAID决策树。具体的卡方自动交互检测法为已有技术,在此不再赘述。
如上述步骤S3所述,判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体。由于指定主体被归类为指定分类,这意味着所述指定分类中的主体具有一致的特性,因此适于其中一个主体的计算模型,也适用于所述指定主体。据此,判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体,以确认是否有现有的第一计算模型。若存在,则无需再采用规则引擎进行运算,直接利用第一计算模型即可,从而减轻了规则引擎的负担。其中规则引擎是一种组件,能够实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策,而在本申请中用于输出主体应采用何种计算模型进行计算。
如上述步骤S4所述,若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据,其中所述第一类子数据与所述第一计算模型的计算结果正相关,所述第二类子数据与所述第一计算模型的计算结果非正相关。若所述指定分类中存在第一主体,一般而言,采用所述第一计算模型即可对所述指定主体进行计算。但是,本申请采用特殊设计,以进一步避免第一计算模型的使用,减小第一计算模型的负担。即,根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据,其中所述第一类子数据与所述第一计算模型的计算结果正相关,所述第二类子数据与所述第一计算模型的计算结果非正相关。
如上述步骤S5所述,根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类,其中所述第i个逻辑分类中的主体具有的第二类子数据的数值在预设的数值范围之内,其中i为大于0的整数,所述第i个逻辑分类是所述指定分类的子分类。本申请将所述指定主体归类为第i个逻辑分类,其中所述第i个逻辑分类中的主体具有的第二类子数据的数值在预设的数值范围之内,目的在于,使指定主体的不可控子数据(即第二类子数据)尽量相等(即在预设的数值范围之内),从而可根据第i个逻辑分类中的主体的计算结果,相应推导出指定主体的计算结果。而其中的过程无需使用计算模型,从而减轻了计算模型的负担。
如上述步骤S6所述,判断所述第i个逻辑分类中是否存在第二主体,所述第二主体指已利用所述第一计算模型进行计算,从而得到结果数值的主体。所述第二主体的结果数值用于推导所述指定主体的计算结果。
如上述步骤S7所述,若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。由于所述第i个逻辑分类中的所有主体的第二类子数据的数值在预设的数值范围之内,而只有第一类子数据具有较大差异,而第一类子数据与所述第一计算模型的计算结果正相关(例如为正比关系),因此第一类子数据的数值变化与计算结果存在正向对应关系,将其中的对应关系预先计算出来,从而得到第一类子数据与比例因子的对应关系。据此,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。其中,计算结果与预设的第一类子数据与比例因子的对应关系密切相关,所述对应关系预先计算地越精确,所述计算结果越准确。从而尽量避免使用规则引擎与计算模型,减轻了规则引擎的负担和计算模型的负担。
在一个实施方式中,所述利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类的步骤S2之前,包括:
S11、调取预存的多个样本数据,并根据预设的划分比例将所述样本数据划分为训练数据和测试数据,其中所述样本数据由预先收集的训练主体和与所述训练主体对应的类别构成;
S12、设置决策树模型的建模标准参数,所述建模标准参数至少包括决策树的母节点的可再分的显著水平、母节点包含的最小样本数、子节点包含的最小样本数和决策树的最大层数,从而得到初始决策树模型;
S13、利用所述训练数据训练所述初始决策树模型,从而得到中间决策树模型;
S14、将所述测试数据输入所述中间决策树模型中进行验证,从而得到验证结果,并判断所述验证结果是否通过;
S15、若所述验证结果通过,则将所述中间决策树模型记为主体分类模型。
如上所述,实现了设置与训练主体分类模型。其中所述划分比例可为任意可行比例,例如为6:4至9:1,当样本数据的数量越多时,划分比例越大。调取预存的多个样本数据,并根据预设的划分比例将所述样本数据划分为训练数据和测试数据,其中所述样本数据由预先收集的训练主体和与所述训练主体对应的类别构成,从而训练数据与测试数据相同,使后续的模型验证过程可信。决策树模型是树状结构网络,需要预先设置建模标准参数,以构建初始模型。其中所述建模标准参数至少包括决策树的母节点的可再分的显著水平、母节点包含的最小样本数、子节点包含的最小样本数和决策树的最大层数。再利用所述训练数据训练所述初始决策树模型,从而得到中间决策树模型;将所述测试数据输入所述中间决策树模型中进行验证;若所述验证结果通过,则将所述中间决策树模型记为主体分类模型。从而得到能够对指定主体进行分类的主体分类模型。
在一个实施方式中,所述指定数据存储于预设的二进制存储器中,所述规则引擎存储于预设的多态存储器中,经由所述规则引擎进行运算后得到的数据也存储于所述多态存储器中,所述判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体的步骤S3,包括:
S301、获取所述指定分类中的主体的数据存储位置,并判断所述数据存储位置是否指向所述多态存储器;
S302、若所述数据存储位置指向所述多态存储器,则判定所述指定分类中存在第一主体。
如上所述,实现了判断所述指定分类中是否存在第一主体。本申请采用特别设计,即所述指定数据存储于预设的二进制存储器中,所述规则引擎存储于预设的多态存储器中,经由所述规则引擎进行运算后得到的数据也存储于所述多态存储器中,从而利用多态存储器的高密度存储特性来存储大体量且重要的规则引擎,而指定数据作为未处理过的初始数据,价值不高,相对被调用的次数也不高,从而存储于低密度存储特性但廉价的二进制存储器中。再获取所述指定分类中的主体的数据存储位置,并判断所述数据存储位置是否指向所述多态存储器;若所述数据存储位置指向所述多态存储器,则判定所述指定分类中存在第一主体。由于本申请采用的特殊存储方式的设计,因此只要得知所述指定分类中的主体有相关数据被存在多态存储器中,即可确定该主体为第一主体。其中所述多态存储器可为任意形式的存储器,例如为磁电多态存储器。
在一个实施方式中,所述获取所述指定分类中的主体的数据存储位置,并判断所述数据存储位置是否指向所述多态存储器的步骤S301之前,包括:
S3011、统计在所述多态存储器中,所述规则引擎所占存储空间的大小,并判断所述存储空间的大小在统计时间内是否保持一致;
S3012、若所述存储空间的大小在统计时间内保持一致,则生成存储位置获取指令,所述存储位置获取指令用于指示获取所述指定分类中的主体的数据存储位置。
如上所述,实现了防止规则引擎的变化导致数据紊乱、计算结果出错。一般而言,规则引擎不会发生变化。但是,当需要对计算模型适用主体进行修改时,规则引擎会进行一定的调整。调整前后的规则引擎输出的结果并不相同,因此在获取所述指定分类中的主体的数据存储位置之前,需要判断规则引擎是否发生了变化。本申请采用统计在所述多态存储器中,所述规则引擎所占存储空间的大小,并判断所述存储空间的大小在统计时间内是否保持一致的方式,以确定规则引擎是否变化。若保持一致,表明规则引擎未修改,因此生成存储位置获取指令,所述存储位置获取指令用于指示获取所述指定分类中的主体的数据存储位置。从而避免了计算错误的可能。
在一个实施方式中,所述判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体的步骤S3之后,包括:
S311、若所述指定分类中不存在第一主体,则将所述指定数据输入所述规则引擎中,从而得到所述规则引擎输出的第二计算模型;
S312、利用所述第二计算模型对所述指定数据进行计算,从而得到指定计算结果,并将指定计算结果存储在所述多态存储器中。
如上所述,实现了得到指定计算结果,并将指定计算结果存储在所述多态存储器中。若所述指定分类中不存在第一主体,表明指定分类中的主体均未进行有规则引擎的运算,因此指定主体需要输入所述规则引擎中,从而得到所述规则引擎输出的第二计算模型。再利用所述第二计算模型对所述指定数据进行计算,从而得到指定计算结果。由于所述指定计算结果是经过处理的数据,其具有更高的价值,被调用的可能性更高,因此将其存储在所述多态存储器中,以利用数据的再利用。
在一个实施方式中,所述若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据,其中所述第一类子数据与所述第一计算模型的计算结果正相关,所述第二类子数据与所述第一计算模型的计算结果非正相关的步骤S4之前,包括:
S321、调取预存的测试数据M,其中所述测试数据M由多个子数据M1,M2,...,Mj,...,Mn构成,共有n个子数据,j为大于等于1且小于等于n的整数,所述测试数据M的子数据与所述指定数据的子数据一一对应;
S322、通过仅修改子数据Mj的数值的方式修改所述测试数据M,对应得到多个修改数据,并将所述多个修改数据输入所述第一计算模型中,对应得到所述第一计算模型输出的多个计算结果;
S323、判断所述多个计算结果的变化趋势是否与所述子数据Mj的变化趋势相同;
S324、若所述多个计算结果的变化趋势与所述子数据Mj的变化趋势相同,则将所述子数据Mj记为第一类子数据。
如上所述,实现了将所述子数据Mj记为第一类子数据。本申请仅采用所述第一计算模型,即可获知第一类子数据和第二类子数据。调取预存的测试数据M,其中所述测试数据M由多个子数据M1,M2,...,Mj,...,Mn构成,共有n个子数据,j为大于等于1且小于等于n的整数,所述测试数据M的子数据与所述指定数据的子数据一一对应;通过仅修改子数据Mj的数值的方式修改所述测试数据M,对应得到多个修改数据,从而多个修改数据之间,仅有一项子数据-子数据Mj-的数值不同,其他子数据完全相同。再将所述多个修改数据输入所述第一计算模型中,对应得到所述第一计算模型输出的多个计算结果。此时,由于自变量仅为子数据Mj,因此通过判断所述多个计算结果的变化趋势是否与所述子数据Mj的变化趋势相同,即可得知子数据Mj与计算结果是否正相关。据此,若所述多个计算结果的变化趋势与所述子数据Mj的变化趋势相同,则将所述子数据Mj记为第一类子数据。从而可知测试数据中的每个数据应被分为第一类子数据或者第二类子数据。而指定数据中的子数据,只需要确定子数据在指定数据中的排序,再根据测试数据M中的第一类子数据的排位,即可得知指定数据中的子数据应被分为哪类子数据(即指定数据中的子数据与所述测试数据M中排位相同的子数据的类别相同)。从而实现了快速分类。
在一个实施方式中,所述指定主体的计算结果是预设地点的资源消耗数量,所述若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果的步骤S7之后,包括:
S71、在预设的地图中的指定位置上标注所述指定主体的计算结果,其中所述指定位置指所述指定主体所处位置,并且所述地图中还标注有其他主体的计算结果,所述地图被预先划分为多个区块;
S72、计算所述指定主体所处区块的平均计算结果,并判断所述指定主体的计算结果是否大于所述平均计算结果;
S73、若所述指定主体的计算结果大于所述平均计算结果,则生成资源补充提醒信息。
如上所述,实现了宏观调控资源。本申请将计算结果反应在预设的地图中,从而可直观地展现数据。再计算所述指定主体所处区块的平均计算结果数值,并判断所述指定主体的计算结果是否大于所述平均计算结果数值;若所述指定主体的计算结果大于所述平均计算结果数值,则表明所述指定主体所处地点的资源不足,应进行资源补充,据此生成资源补充提醒信息。其中所述资源例如为生产原料(例如铁矿石数量)等。从而利用快速计算实现资源宏观调控。
本申请的基于决策树的数据计算方法,接收对指定主体进行计算的计算指令;利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据;根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类;若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。从而解决规则引擎负担过重、计算模型负担过重且耗时过高的缺陷。
参照图2,本申请实施例提供一种基于决策树的数据计算装置,包括:
计算指令接收单元10,用于接收对指定主体进行计算的计算指令,其中所述计算指令携带有所述指定主体的指定数据,所述指定数据包括多个子数据;
指定主体分类单元20,用于利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;
第一主体判断单元30,用于判断所述指定分类中是否存在第一主体,其中所述第一主体指已利用预设的规则引擎进行运算,从而得到第一计算模型的主体;
子数据划分单元40,用于若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据,其中所述第一类子数据与所述第一计算模型的计算结果正相关,所述第二类子数据与所述第一计算模型的计算结果非正相关;
第i个逻辑分类归类单元50,用于根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类,其中所述第i个逻辑分类中的主体具有的第二类子数据的数值在预设的数值范围之内,其中i为大于0的整数,所述第i个逻辑分类是所述指定分类的子分类;
第二主体判断单元60,用于判断所述第i个逻辑分类中是否存在第二主体,所述第二主体指已利用所述第一计算模型进行计算,从而得到结果数值的主体;
计算结果生成单元70,用于若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。
其中上述单元分别用于执行的操作与前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述装置,包括:
样本数据划分单元,用于调取预存的多个样本数据,并根据预设的划分比例将所述样本数据划分为训练数据和测试数据,其中所述样本数据由预先收集的训练主体和与所述训练主体对应的类别构成;
建模标准参数设置单元,用于设置决策树模型的建模标准参数,所述建模标准参数至少包括决策树的母节点的可再分的显著水平、母节点包含的最小样本数、子节点包含的最小样本数和决策树的最大层数,从而得到初始决策树模型;
初始决策树模型训练单元,用于利用所述训练数据训练所述初始决策树模型,从而得到中间决策树模型;
验证结果判断单元,用于将所述测试数据输入所述中间决策树模型中进行验证,从而得到验证结果,并判断所述验证结果是否通过;
主体分类模型标记单元,用于若所述验证结果通过,则将所述中间决策树模型记为主体分类模型。
其中上述单元分别用于执行的操作与前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述指定数据存储于预设的二进制存储器中,所述规则引擎存储于预设的多态存储器中,经由所述规则引擎进行运算后得到的数据也存储于所述多态存储器中,所述第一主体判断单元30,包括:
数据存储位置判断子单元,用于获取所述指定分类中的主体的数据存储位置,并判断所述数据存储位置是否指向所述多态存储器;
第一主体存在判定子单元,用于若所述数据存储位置指向所述多态存储器,则判定所述指定分类中存在第一主体。
其中上述子单元分别用于执行的操作与前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述装置,包括:
存储空间的大小判断单元,用于统计在所述多态存储器中,所述规则引擎所占存储空间的大小,并判断所述存储空间的大小在统计时间内是否保持一致;
存储位置获取指令生成单元,用于若所述存储空间的大小在统计时间内保持一致,则生成存储位置获取指令,所述存储位置获取指令用于指示获取所述指定分类中的主体的数据存储位置。
其中上述单元分别用于执行的操作与前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述装置,包括:
第二计算模型获取单元,用于若所述指定分类中不存在第一主体,则将所述指定数据输入所述规则引擎中,从而得到所述规则引擎输出的第二计算模型;
指定计算结果存储单元,用于利用所述第二计算模型对所述指定数据进行计算,从而得到指定计算结果,并将指定计算结果存储在所述多态存储器中。
其中上述单元分别用于执行的操作与前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述装置,包括:
测试数据M调取单元,用于调取预存的测试数据M,其中所述测试数据M由多个子数据M1,M2,...,Mj,...,Mn构成,共有n个子数据,j为大于等于1且小于等于n的整数,所述测试数据M的子数据与所述指定数据的子数据一一对应;
测试数据M修改单元,用于通过仅修改子数据Mj的数值的方式修改所述测试数据M,对应得到多个修改数据,并将所述多个修改数据输入所述第一计算模型中,对应得到所述第一计算模型输出的多个计算结果;
变化趋势判断单元,用于判断所述多个计算结果的变化趋势是否与所述子数据Mj的变化趋势相同;
第一类子数据标记单元,用于若所述多个计算结果的变化趋势与所述子数据Mj的变化趋势相同,则将所述子数据Mj记为第一类子数据。
其中上述单元分别用于执行的操作与前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述装置,包括:
地图标注单元,用于在预设的地图中的指定位置上标注所述指定主体的计算结果,其中所述指定位置指所述指定主体所处位置,并且所述地图中还标注有其他主体的计算结果,所述地图被预先划分为多个区块;
平均计算结果判断单元,用于计算所述指定主体所处区块的平均计算结果,并判断所述指定主体的计算结果是否大于所述平均计算结果;
资源补充提醒信息生成单元,用于若所述指定主体的计算结果大于所述平均计算结果,则生成资源补充提醒信息。
其中上述单元分别用于执行的操作与前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
本申请的基于决策树的数据计算装置,接收对指定主体进行计算的计算指令;利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据;根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类;若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。从而解决规则引擎负担过重、计算模型负担过重且耗时过高的缺陷。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于决策树的数据计算方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于决策树的数据计算方法。
上述处理器执行上述基于决策树的数据计算方法,其中所述方法包括的步骤分别与执行前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请的计算机设备,接收对指定主体进行计算的计算指令;利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据;根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类;若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。从而解决规则引擎负担过重、计算模型负担过重且耗时过高的缺陷。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于决策树的数据计算方法,其中所述方法包括的步骤分别与执行前述实施方式的基于决策树的数据计算方法的步骤一一对应,在此不再赘述。
本申请的计算机可读存储介质,接收对指定主体进行计算的计算指令;利用预设的基于决策树模型的主体分类模型,对所述指定主体进行分类,从而将所述指定主体归类为指定分类;若所述指定分类中存在第一主体,则根据预设的数据分类方法,将所述指定数据的多个子数据划分为第一类子数据和第二类子数据;根据所述第二类子数据的数值,将所述指定主体归类为第i个逻辑分类;若所述第i个逻辑分类中存在第二主体,则根据预设的第一类子数据与比例因子的对应关系,获取与所述指定主体对应的指定比例因子,并将所述指定比例因子乘以所述结果数值的乘积值作为所述指定主体的计算结果。从而解决规则引擎负担过重、计算模型负担过重且耗时过高的缺陷。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。