CN111324344A - 代码语句的生成方法、装置、设备及可读存储介质 - Google Patents
代码语句的生成方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111324344A CN111324344A CN202010128183.0A CN202010128183A CN111324344A CN 111324344 A CN111324344 A CN 111324344A CN 202010128183 A CN202010128183 A CN 202010128183A CN 111324344 A CN111324344 A CN 111324344A
- Authority
- CN
- China
- Prior art keywords
- code
- generating
- decision
- random forest
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种代码语句的生成方法、装置、设备及可读存储介质,该方法包括以下步骤:根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略;若所述转换策略为单层策略,则将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句;若所述转换策略为嵌套策略,则将所述随机森林模型中的决策树均转换为字符串数组;根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码,并将各所述概率预测代码生成为第二预测代码语句。本发明将随机森林模型转换为代码语句,实现随机森林模型与代码语句在业务部署上的兼容。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种代码语句的生成方法、装置、设备及可读存储介质。
背景技术
随着金融科技(Fintech),尤其是互联网科技金融的不断发展,越来越多的技术(如人工智能、大数据、云存储等)应用在金融领域,但金融领域也对各类技术提出了更高的要求,如要求将机器学习模型的预测功能用于大数据业务部署中。
当前,随着大数据技术的发展,越来越多的数据业务都放在大数据平台上运行;而在大数据业务逻辑中,一般会用到各种机器学习模型,如实际业务部署中用到的随机森林模型的预测功能。但目前大量业务部署中的预测功能通过hive(数据仓库工具)或SQL(Structured Query Language,结构化查询语言)等代码语句实现,若将业务部署设置为均通过随机森林模型来实现,则难以和现存的通过hive或SQL等代码语句实现的业务兼容。因此,如何实现随机森林模型与代码语句在业务部署上的兼容是亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种代码语句的生成方法、装置、设备及可读存储介质,旨在解决现有技术中随机森林模型与代码语句在业务部署上不兼容的技术问题。
为实现上述目的,本发明提供一种代码语句的生成方法,所述代码语句的生成方法包括以下步骤:
根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略;
若所述转换策略为单层策略,则将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句;
若所述转换策略为嵌套策略,则将所述随机森林模型中的决策树均转换为字符串数组;
根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码,并将各所述概率预测代码生成为第二预测代码语句。
可选地,所述将所述随机森林模型中的决策树均转换为字符串数组的步骤包括:
将各所述决策树中的分支节点转换为判断语句块,并根据各所述决策树的决策类别,将各所述决策树中的叶子节点转换为结果变量组;
根据各所述决策树的决策类别,将各所述决策树对应的判断语句块和对应的结果变量组,生成为各所述决策树的字符串;
将各所述决策树的字符串分别添加到字符串数组保存,其中,各所述字符串数组中位于相同位置顺序的数组元素所对应的所述决策类别相同。
可选地,所述根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码的步骤包括:
读取各所述字符串数组中具有相同位置顺序的数组元素;
对具有相同位置顺序的数组元素进行组合处理,生成与各所述决策树的决策类别分别对应的概率预测代码。
可选地,所述将各所述概率预测代码生成为第二预测代码语句的步骤包括:
将各所述概率预测代码生成为概率预测数组,并确定所述概率预测数组中的初始对比元素;
将所述初始对比元素添加到预设对比代码中,生成第二预测代码语句。
可选地,所述将各所述概率预测代码生成为第二预测代码语句的步骤之后,所述方法还包括:
当接收到运行请求时,控制所述第二预测代码语句运行,将所述概率预测数组中的各所述概率预测代码分别生成为概率值;
基于预设对比代码中的循环对比条件,对比各所述概率值,确定各所述概率值中的最大概率值;
查找与所述最大概率值对应的决策类别,并将所述决策类别作为所述第二预测代码语句运行的运行结果输出。
可选地,所述将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句的步骤包括:
将各所述决策树中的分支节点转换为判断语句块,并将各所述决策树中的叶子节点转换为结果变量;
将各所述决策树对应的判断语句块和对应的结果变量,生成为各所述决策树的字符串;
根据预设拼接规则,对各所述字符串进行拼接,生成第一预测代码语句。
可选地,所述对各所述字符串进行拼接,生成第一预测代码语句的步骤之后,所述方法还包括:
接收对所述第一预测代码语句进行修正的修正指令,并读取与所述修正指令对应的修正信息;
根据所述修正信息,更新并运行所述第一预测代码语句。
可选地,所述根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略的步骤包括:
识别所述随机森林模型的模型类型,若所述模型类型为回归模型,则确定对所述随机森林模型进行转换的转换策略为单层策略;
若所述模型类型为分类模型,则确定对所述随机森林模型进行转换的转换策略为嵌套策略。
进一步地,为实现上述目的,本发明还提供一种代码语句的生成装置,所述代码语句的生成装置包括:
确定模块,用于根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略;
第一生成模块,用于若所述转换策略为单层策略,则将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句;
转换模块,用于若所述转换策略为嵌套策略,则将所述随机森林模型中的决策树均转换为字符串数组;
第二生成模块,用于根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码,并将各所述概率预测代码生成为第二预测代码语句。
进一步地,为实现上述目的,本发明还提供一种代码语句的生成设备,所述代码语句的生成设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的代码语句的生成程序,所述代码语句的生成程序被所述处理器执行时实现如上述所述的代码语句的生成方法的步骤。
进一步地,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有代码语句的生成程序,所述代码语句的生成程序被处理器执行时实现如上所述的代码语句的生成方法的步骤。
本发明的代码语句的生成方法,设置有通过对随机森林模型的转换来生成代码语句的机制,且针对随机森林模型的不同模型类型,设置有不同的转换策略,该转换策略至少包括单层策略和嵌套策略。若依据随机森林模型的模型类型,确定对其转换的转换策略为单层策略,则先将随机森林模型中的决策树转换为字符串,再将各字符串生成为第一预测代码语句;若经确定对随机森林模型转换的转换策略为嵌套策略,则先将随机森林模型中的决策树转换为字符串数组,再依据各字符串数组生成与各决策树的决策类别分别对应的概率预测代码,进而将各概率预测代码生成为第二预测代码语句。以此将随机森林模型转换为代码语句,实现随机森林模型与代码语句在业务部署上的兼容,避免针对业务部署中由代码语句所实现的预测功能,重新训练随机森林模型或继续使用代码语句,在保留业务部署初始预测功能的同时,提高了随机森林模型的训练效率,且有利于人工智能的推广。
附图说明
图1为本发明代码语句的生成设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明代码语句的生成方法第一实施例的流程示意图;
图3为本发明代码语句的生成装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种代码语句的生成设备,参照图1,图1为本发明代码语句的生成设备实施例方案涉及的设备硬件运行环境的结构示意图。
如图1所示,该代码语句的生成设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的代码语句的生成设备的硬件结构并不构成对代码语句的生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及代码语句的生成程序。其中,操作系统是管理和控制代码语句的生成设备与软件资源的程序,支持网络通信模块、用户接口模块、代码语句的生成程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的代码语句的生成设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的代码语句的生成程序,并执行以下操作:
根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略;
若所述转换策略为单层策略,则将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句;
若所述转换策略为嵌套策略,则将所述随机森林模型中的决策树均转换为字符串数组;
根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码,并将各所述概率预测代码生成为第二预测代码语句。
可选地,所述将所述随机森林模型中的决策树均转换为字符串数组的步骤包括:
将各所述决策树中的分支节点转换为判断语句块,并根据各所述决策树的决策类别,将各所述决策树中的叶子节点转换为结果变量组;
根据各所述决策树的决策类别,将各所述决策树对应的判断语句块和对应的结果变量组,生成为各所述决策树的字符串;
将各所述决策树的字符串分别添加到字符串数组保存,其中,各所述字符串数组中位于相同位置顺序的数组元素所对应的所述决策类别相同。
可选地,所述根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码的步骤包括:
读取各所述字符串数组中具有相同位置顺序的数组元素;
对具有相同位置顺序的数组元素进行组合处理,生成与各所述决策树的决策类别分别对应的概率预测代码。
可选地,所述将各所述概率预测代码生成为第二预测代码语句的步骤包括:
将各所述概率预测代码生成为概率预测数组,并确定所述概率预测数组中的初始对比元素;
将所述初始对比元素添加到预设对比代码中,生成第二预测代码语句。
所述将各所述概率预测代码生成为第二预测代码语句的步骤之后,处理器1001可以调用存储器1005中存储的代码语句的生成程序,并执行以下操作:
当接收到运行请求时,控制所述第二预测代码语句运行,将所述概率预测数组中的各所述概率预测代码分别生成为概率值;
基于预设对比代码中的循环对比条件,对比各所述概率值,确定各所述概率值中的最大概率值;
查找与所述最大概率值对应的决策类别,并将所述决策类别作为所述第二预测代码语句运行的运行结果输出。
可选地,所述将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句的步骤包括:
将各所述决策树中的分支节点转换为判断语句块,并将各所述决策树中的叶子节点转换为结果变量;
将各所述决策树对应的判断语句块和对应的结果变量,生成为各所述决策树的字符串;
根据预设拼接规则,对各所述字符串进行拼接,生成第一预测代码语句。
可选地,所述对各所述字符串进行拼接,生成第一预测代码语句的步骤之后,处理器1001可以调用存储器1005中存储的代码语句的生成程序,并执行以下操作:
接收对所述第一预测代码语句进行修正的修正指令,并读取与所述修正指令对应的修正信息;
根据所述修正信息,更新并运行所述第一预测代码语句。
可选地,所述根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略的步骤包括:
识别所述随机森林模型的模型类型,若所述模型类型为回归模型,则确定对所述随机森林模型进行转换的转换策略为单层策略;
若所述模型类型为分类模型,则确定对所述随机森林模型进行转换的转换策略为嵌套策略。
本发明代码语句的生成设备的具体实施方式与下述代码语句的生成方法各实施例基本相同,在此不再赘述。
本发明还提供一种代码语句的生成方法。
参照图2,图2为本发明代码语句的生成方法第一实施例的流程示意图。
本发明实施例提供了代码语句的生成方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。具体地,本实施例中的代码语句的生成方法包括:
步骤S10,根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略;
本实施例中的代码语句的生成方法应用于服务器,适用于通过服务器来对训练好的随机森林模型进行转换,生成代码语句。其中,所生成的语句可以是hive、spark SQL或者SQL,随机森林模型是基于决策树的集成学习方法,其用随机的方式建立一个森林,森林由很多的决策树组成。每棵决策树在训练过程中通过对样本和特征两个维度进行采样,得到多棵相互独立的决策树模型。通常实际业务部署中用到的是随机森林模型的预测功能,本实施例随机森林模型的转换实质是将随机森林模型中实现预测功能的处理逻辑转换为用于预测的代码语句。
进一步地,随机森林模型包括随机森林回归模型和随机森林分类模型,针对该两种不同类型的随机森林模型,设定不同的转换策略。从而在对随机森林模型进行转换之前,需要先确定随机森林模型的模型类型,由模型类型来确定转换策略,进而通过转换策略进行转换。具体地,根据随机森林模型的模型类型,确定对随机森林模型进行转换的转换策略的步骤包括:
步骤S11,识别所述随机森林模型的模型类型,若所述模型类型为回归模型,则确定对所述随机森林模型进行转换的转换策略为单层策略;
步骤S12,若所述模型类型为分类模型,则确定对所述随机森林模型进行转换的转换策略为嵌套策略。
可理解地,随机森林回归模型和随机森林分类模型的逻辑处理过程存在差异性,从而可通过识别随机森林模型的逻辑处理方式,来确定其模型类型。或者,预先针对随机森林回归模型和随机森林分类模型设定不同的标识符,通过识别随机森林模型所携带的标识符类型,来确定其模型类型。
进一步地,将随机森林回归模型简称为回归模型,将随机森林分类模型简称为分类模型。若识别出随机森林模型的模型类型为回归模型,则将对其进行转换的转换策略确定为单层策略;若识别出的模型类型为分类模型,则将对随机森林模型进行转换的转换策略确定为嵌套策略。其中单层策略可为采用一层select函数语句实现转换,嵌套策略则可采用嵌套select函数语句实现转换。
步骤S20,若所述转换策略为单层策略,则将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句;
更进一步地,若经识别确定对随机森林模型进行转换的转换策略为单层策略,则对随机森林中所有的决策树进行转换,得到与各决策树对应的字符串。各字符串均包含多个用于实现判断功能的语句,以表征各决策树处理逻辑。此后,对各字符串组合处理,生成第一预测代码语句,通过第一预测代码语句来实现回归模型的预测功能。
步骤S30,若所述转换策略为嵌套策略,则将所述随机森林模型中的决策树均转换为字符串数组;
进一步地,若经识别确定对随机森林模型进行转换的转换策略为嵌套策略,则对随机森林中所有的决策树进行转换,得到与各决策树对应的字符串数组。各字符串数组中均包含有多个字符串,且字符串的数量与决策树所实现的分类类型一致。如决策树实现对客户贷款风险分类,且分类类型包括高风险、中等风险和低风险三种,则其转换所生成的字符串数组中包含有三个字符串,分别表示决策树对三种类型客户贷款风险的预测概率。
步骤S40,根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码,并将各所述概率预测代码生成为第二预测代码语句。
更进一步地,将决策树所实现的分类类型作为决策树的决策类别,如上述高风险、中等风险和低风险的分类即为三类决策类别。在经转换得到各字符串数组后,即可通过各字符串数组中的字符串来生成表征各决策树的决策类别的概率预测代码。对各字符串数组中表征相同决策类别的字符串进行分类别处理,生成与各决策类别对应的概率预测代码,以预测各决策类别的概率,确定归属的类别。此后,对各项概率预测代码进行组合处理,生成第二预测代码语句,以通过第二预测代码语句来实现分类模型的分类预测功能。
本发明的代码语句的生成方法,设置有通过对随机森林模型的转换来生成代码语句的机制,且针对随机森林模型的不同模型类型,设置有不同的转换策略,该转换策略至少包括单层策略和嵌套策略。若依据随机森林模型的模型类型,确定对其转换的转换策略为单层策略,则先将随机森林模型中的决策树转换为字符串,再将各字符串生成为第一预测代码语句;若经确定对随机森林模型转换的转换策略为嵌套策略,则先将随机森林模型中的决策树转换为字符串数组,再依据各字符串数组生成与各决策树的决策类别分别对应的概率预测代码,进而将各概率预测代码生成为第二预测代码语句。以此将随机森林模型转换为代码语句,实现随机森林模型与代码语句在业务部署上的兼容,避免针对业务部署中由代码语句所实现的预测功能,重新训练随机森林模型或继续使用代码语句,在保留业务部署初始预测功能的同时,提高了随机森林模型的训练效率,且有利于人工智能的推广。
进一步地,基于本发明代码语句的生成方法的第一实施例,提出本发明代码语句的生成方法第二实施例。
所述代码语句的生成方法第二实施例与所述代码语句的生成方法第一实施例的区别在于,所述将所述随机森林模型中的决策树均转换为字符串数组的步骤包括:
步骤S31,将各所述决策树中的分支节点转换为判断语句块,并根据各所述决策树的决策类别,将各所述决策树中的叶子节点转换为结果变量组;
步骤S32,根据各所述决策树的决策类别,将各所述决策树对应的判断语句块和对应的结果变量组,生成为各所述决策树的字符串;
步骤S33,将各所述决策树的字符串分别添加到字符串数组保存,其中,各所述字符串数组中位于相同位置顺序的数组元素所对应的所述决策类别相同。
本实施例在对随机森林模型中的分类模型进行转换的过程中,先将各决策树中的分支节点转换为判断语句块;其中分支节点包括父节点和子节点,判断语句块可为casewhen else语句块。此后,依据各决策树的决策类别,将各决策树的叶子节点转换为结果变量组,一颗决策树的所有叶子节点形成一个结果变量组,表征该颗决策树所具有的所有分类类型。在决策树实际运行过程中,分支节点表征判断分类,叶子节点表征决策树所预测的概率;转换为结果变量组后,判断语句块则用于判断分类,结果变量组则用于存储代码运行所生成的预测概率。即,用判断语句块判断分类后所得到的预测概率,替换掉结果变量组中的变量,实现对所生成预测概率的存储。
进一步地,为了表征语句块和结果变量组之间存储的关联关系,可依据各决策树的决策类别,将各决策树所形成的判断语句块以及各自的结果变量组,组合生成为各决策树的字符串。其中,预先设置有用于将判断语句块和结果变量组组合的预设代码,将各决策树的判断语句块以及对应的结果变量组分别添加到预设代码中,即可生成各决策树的字符串。如决策树a和b均可实现两种分类类型的概率预测;其中a所形成的判断语句块为A,所形成的结果变量组中的元素为a1和a2;b所形成的判断语句块为B,所形成的结果变量组中的元素为b1和b2;则将判断语句A和由a1、a2组成的结果变量组添加到预设代码中形成为a的字符串;同时将判断语句B和由b1、b2组成的结果变量组添加到预设代码中形成为b的字符串。此外,为了对各决策树所形成的字符串进行区分,可对各字符串的首位添加预设标识符,如小括号、中括号等。
更进一步地,分别将各决策树所生成的字符串添加到字符串数组中保存,通过各决策树的字符串数组表征各决策树所具有的分类类型。如某一决策树的字符串数组Stree-1[]={(String1-1),(String1-2)},表征了决策树所生成的字符串包含String-1和String-1,具有的分类类型为两类。此外,考虑到随机森林中所包含的决策树众多,各决策树通过不同的数据样本训练得到,使得各决策树可实现的分类类型具有差异性。为了便于确定各决策树具有的分类类型,以及对各分类类型进行处理,将位于各决策树的字符串数组中相同位置顺序的数组元素设定为表征相同的分类类型。如决策树所生成的字符串数组Stree-2[]={(String2-1),(String2-2)},和Stree-1[]={(String1-1),(String1-2)}之间,位于两字符串数组中第1位的(String2-1)和(String1-1)表征的分类类型相同,如均对年龄进行分类,同样的位于两字符串数组中第2位的(String2-2)和(String1-2)表征的分类类型也相同,如均对性别进行分类等。
进一步地,在将随机森林模型中的各决策树均转换为字符串数组后,则可依据各字符串数组生成用于对各决策类别进行判断分类的概率预测代码,即与各决策树的决策类别对应的概率预测带来。具体地,根据各字符串数组,生成与各决策树的决策类别分别对应的概率预测代码的步骤包括:
步骤S41,读取各所述字符串数组中具有相同位置顺序的数组元素;
步骤S42,对具有相同位置顺序的数组元素进行组合处理,生成与各所述决策树的决策类别分别对应的概率预测代码。
更进一步地,因各字符串数组中位于相同位置顺序的数组元素表征的分类类型相同,从而在生成对各决策类别进行判定分类的概率预测代码时,逐一读取各字符串中具有相同位置顺序的数组元素,如读取上述(String2-1)和(String1-1)。此后对读取的位于相同位置顺序的各数组元素进行组合处理,得到决策树中由位置顺序所表征决策类别的概率预测代码;在各相同位置数据的数组元素均经读取和组合生成各决策类别的概率预测代码后,即完成随机森林模型中各决策类别的概率预测代码的生成。其中,组合处理实质为先对各数组元素用数学符号“+”进行连接,再统计连接的数组元素的数量,进而在连接后的各数组元素和数组元素的数量之间做比值的处理过程。代码实际运行过程中,组合处理所得到的结果为各组合元素运行所得概率经均值处理的平均预测概率,表征随机森林对分类类型的预测为各决策树预测概率的平均值。以此,通过预测概率的平均值来表征随机森林对决策类别所预测的概率,有利于预测的准确性。
进一步地,在得到各决策树在各决策类别上的概率预测代码后,则可依据各概率预测代码来生成第二预测代码语句,以通过第二预测代码语句来实现随机森林模型的分类预测功能。具体地,将各概率预测代码生成为第二预测代码语句的步骤包括:
步骤S43,将各所述概率预测代码生成为概率预测数组,并确定所述概率预测数组中的初始对比元素;
步骤S44,将所述初始对比元素添加到预设对比代码中,生成第二预测代码语句。
更进一步地,将各概率预测代码添加到随机森林数组中,生成为对随机森林模型各分类类别进行预测的概率预测数组。如对于字符串数组Stree-1[0,1···k],Stree-2[0,1···k]···Stree-n[0,1···k],其中n为决策树的数量,k为决策类别数量,则其相同位置顺序的数组元素所生成的概率预测代码分别为(Stree-1[0]+Stree-2[0]+···+Stree-n[0])/n,(Stree-1[1]+Stree-2[1]+···+Stree-n[1])/n···(Stree-1[k]+Stree-2[k]+···+Stree-n[k])/n;设置随机森林数组Sforest-all,将生成的各概率预测代码添加到Sforest-all中,得到概率预测数组Sforest-all=select((Stree-1[0]+Stree-2[0]+···+Stree-n[0])/n,(Stree-1[1]+Stree-2[1]+···+Stree-n[1])/n···(Stree-1[k]+Stree-2[k]+···+Stree-n[k])/n)from Stree-all。
可理解地,概率预测数组中各概率预测代码表征了随机森林模型对各分类类型预测的可能性大小,若经由概率预测代码所生成的概率值越大,表征属于该概率预测代码所对应决策类别的可能性越大。从而为了实现类别预测,设置有对比概率预测数组中各概率预测代码的机制。具体地,先确定概率预测数组中用于开始对比的初始对比元素,该初始对比元素依据需求设定元素标识,可以是概率预测数组中第一个元素的元素标识,也可以是概率预测数组中最后一个元素的元素标识;服务器通过识别元素标识来确定概率预测数据组中的初始对比元素。
进一步地,预先设置有预设对比代码,将设定的初始对比元素添加到预设对比代码中,即可生成用于实现随机森林模型的分类预测功能的第二预测代码语句。
可理解地,第二预测代码语句在生成过程中,可能因外界因素干扰存在错误字符而需要修正,或者在运行过程中需要针对运行场景进行修改。因此,本实施例设置有人工修正机制。具体地,当接收到修正人员通过与服务器通信连接的终端所发送的修正指令时,读取其中所携带的修正信息,并通过修正信息对第二预测代码语句进行修正,在确保第二预测代码语句正确的同时,满足运行场景的运行需求。
更进一步地,所述将各所述概率预测代码生成为第二预测代码语句的步骤之后,还包括:
步骤S45,当接收到运行请求时,控制所述第二预测代码语句运行,将所述概率预测数组中的各所述概率预测代码分别生成为概率值;
步骤S46,基于所述预设对比代码中的循环对比条件,对比各所述概率值,确定各所述概率值中的最大概率值;
步骤S47,查找与所述最大概率值对应的决策类别,并将所述决策类别作为所述第二预测代码语句运行的运行结果输出。
在接收到运行请求,表征具有通过第二预测代码语句来实现分类模型的分类预测功能时,控制第二预测代码语句运行,通过运行来将概率预测数组中的各项概率预测代码生成为概率值,表征对各决策类别进行预测的概率大小。此外,预设对比代码中设置有用于对比各概率值大小的循环对比条件,在经运行将各概率预测代码生成为概率值之后,通过循环对比条件对各概率值进行循环对比,确定其中数值最大的最大概率值,该数值最大的最大概率值表征了决策类别的最大可能性。此后查找生成该数值最大的元素值的概率预测代码,该概率预测代码所表征的决策类别即为概率最大的决策类别,将该决策类别作为当次第二预测代码语句运行所生成的运行结果输出,实现随机森林模型的判断分类。
本实施例通过将随机森林模型中的分类模型转换为第二预测代码语句,通过第二预测代码语句即可进行分类预测,实现了分类模型与代码语句在业务部署上分类预测功能的兼容;同时通过嵌套策略,可将各决策树所计算的中间结果保存到字符串数组中,避免了针对同一决策树的多次计算,节省了计算资源。
进一步地,基于本发明代码语句的生成方法的第一或第二实施例,提出本发明代码语句的生成方法第三实施例。
所述代码语句的生成方法第三实施例与所述代码语句的生成方法第一或第二实施例的区别在于,所述将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句的步骤包括:
步骤S21,将各所述决策树中的分支节点转换为判断语句块,并将各所述决策树中的叶子节点转换为结果变量;
步骤S22,将各所述决策树对应的判断语句块和对应的结果变量,生成为各所述决策树的字符串;
步骤S23,根据预设拼接规则,对各所述字符串进行拼接,生成第一预测代码语句。
本实施例在对随机森林模型中的回归模型进行转换的过程中,先将各决策树中的分支节点转换为判断语句块;其中分支节点包括父节点和子节点,判断语句块可为casewhen else语句块。同时将各决策树的叶子节点转换为结果变量,表征各决策树通过回归处理所得到的预测结果。在决策树实际运行过程中,分支节点表征对比判断,叶子节点表征决策树所预测的结果;转换为结果变量后,判断语句块则用于对比判断,结果变量则用于表示代码运行所生成的预测结果。即,用判断语句块对比判断后所得到的预测结果,替换掉结果变量的变量,表示经回归处理所生成的预测结果。
进一步地,为了表征语句块和结果变量组之间的关联关系,将各决策树所形成的判断语句块以及各自的结果变量,组合生成为各决策树的字符串。其中,预先设置有用于对判断语句块和结果变量组合的预设代码,将各决策树的判断语句块以及对应的结果变量分别添加到预设代码中,即可生成各决策树的字符串。此外,为了对各决策树所形成的字符串进行区分,可对各字符串的首位添加预设标识符,如小括号、中括号等。
更进一步地,预先设置有对各决策树的字符串进行拼接的预设拼接规则,在生成各决策树的字符串后,调用该预设拼接规则对各项字符串进行拼接处理,得到第一预设代码语句。其中,拼接处理实质为先对各字符串用数学符号“+”进行连接,再统计连接的字符串的数量,进而在连接后的各字符串和字符串的数量之间做比值的处理过程。如对于各决策树所生成的字符串Stree-1、Stree-2···Stree-n,其中n为决策树的数量,则拼接处理所得到的(Stree-1+Stree-2+···+Stree-n)/n。此后补充第一预设代码语句规范的标准语句,即可得到第一预设代码语句select Sforest from dataset。
需要说明的是,代码实际运行过程中,拼接处理所得到的结果为各字符串运行结果的平均结果,以表征随机森林模型经回归处理的预测结果为各决策树预测的均衡结果,有利于预测的准确性。
可理解地,第一预测代码语句在生成过程中,可能因外界因素干扰存在错误字符而需要修正,或者在运行过程中需要针对运行场景进行修改,如修改第一预测代码语句运行所针对的数据表名称等。因此,本实施例设置有人工修正机制。具体地,对各字符串进行拼接,生成第一预测代码语句的步骤之后包括:
步骤S24,接收对所述第一预测代码语句进行修正的修正指令,并读取与所述修正指令对应的修正信息;
步骤S25,根据所述修正信息,更新并运行所述第一预测代码语句。
进一步地,服务器连接有用于对第一预测代码进行运行监控、修正的终端,且终端可以是笔记本电脑、台式电脑、智能手机等。当具有对第一预测代码语句进行修正的需求时,修正人员通过终端的显示界面输入修正信息并发送修正指令。服务器在接收到该对第一预测代码语句进行修正的修正指令时,读取修正指令所携带的修正信息,并通过修正信息中的位置信息查找第一预测代码语句中需要修正的代码语句所在的代码行。此后,用修正信息中的修正代码语句对代码行中所需要修正的代码语句进行替换,实现对第一预测代码语句的更新,并以更新后的第一预测代码语句运行。以此,在确保第一预测代码语句正确的同时,满足运行场景的运行需求。
本实施例通过将随机森林模型中的回归模型转换为第一预测代码语句,通过第一预测代码语句即可进行回归预测,实现了回归模型与代码语句在业务部署上回归预测功能的兼容;同时通过单层策略进行转换,有利于提高经转换得到的第一预测代码语句的运行效率。
本发明还提供一种代码语句的生成装置。
参照图3,图3为本发明代码语句的生成装置第一实施例的功能模块示意图。所述代码语句的生成装置包括:
确定模块10,用于根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略;
第一生成模块20,用于若所述转换策略为单层策略,则将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句;
转换模块30,用于若所述转换策略为嵌套策略,则将所述随机森林模型中的决策树均转换为字符串数组;
第二生成模块40,用于根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码,并将各所述概率预测代码生成为第二预测代码语句。
进一步地,所述转换模块30包括:
第一转换单元,用于将各所述决策树中的分支节点转换为判断语句块,并根据各所述决策树的决策类别,将各所述决策树中的叶子节点转换为结果变量组;
第一生成单元,用于根据各所述决策树的决策类别,将各所述决策树对应的判断语句块和对应的结果变量组,生成为各所述决策树的字符串;
第一添加单元,用于将各所述决策树的字符串分别添加到字符串数组保存,其中,各所述字符串数组中位于相同位置顺序的数组元素所对应的所述决策类别相同。
进一步地,所述第二生成模块40包括:
读取单元,用于读取各所述字符串数组中具有相同位置顺序的数组元素;
组合单元,用于对具有相同位置顺序的数组元素进行组合处理,生成与各所述决策树的决策类别分别对应的概率预测代码。
进一步地,所述第二生成模块40还包括:
第一确定单元,用于将各所述概率预测代码生成为概率预测数组,并确定所述概率预测数组中的初始对比元素;
第二添加单元,用于将所述初始对比元素添加到预设对比代码中,生成第二预测代码语句。
进一步地,所述第二生成模块40还包括:
控制单元,用于当接收到运行请求时,控制所述第二预测代码语句运行,将所述概率预测数组中的各所述概率预测代码分别生成为概率值;
对比单元,用于基于所述预设对比代码中的循环对比条件,对比各所述概率值,确定各所述概率值中的最大概率值;
查找单元,用于查找与所述最大概率值对应的决策类别,并将所述决策类别作为所述第二预测代码语句运行的运行结果输出。
进一步地,所述第一生成模块20包括:
第二转换单元,用于将各所述决策树中的分支节点转换为判断语句块,并将各所述决策树中的叶子节点转换为结果变量;
第二生成单元,用于将各所述决策树对应的判断语句块和对应的结果变量,生成为各所述决策树的字符串;
拼接单元,用于根据预设拼接规则,对各所述字符串进行拼接,生成第一预测代码语句。
进一步地,所述第一生成模块20还包括:
接收单元,用于接收对所述第一预测代码语句进行修正的修正指令,并读取与所述修正指令对应的修正信息;
更新单元,用于根据所述修正信息,更新并运行所述第一预测代码语句。
进一步地,所述确定模块10还包括:
识别单元,用于识别所述随机森林模型的模型类型,若所述模型类型为回归模型,则确定对所述随机森林模型进行转换的转换策略为单层策略;
第二确定单元,用于若所述模型类型为分类模型,则确定对所述随机森林模型进行转换的转换策略为嵌套策略。
本发明代码语句的生成装置具体实施方式与上述代码语句的生成方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种可读存储介质。
可读存储介质上存储有代码语句的生成程序,代码语句的生成程序被处理器执行时实现如上所述的代码语句的生成方法的步骤。
本发明可读存储介质可以是计算机可读存储可读存储介质,其具体实施方式与上述代码语句的生成方法各实施例基本相同,在此不再赘述。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
Claims (11)
1.一种代码语句的生成方法,其特征在于,所述代码语句的生成方法包括以下步骤:
根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略;
若所述转换策略为单层策略,则将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句;
若所述转换策略为嵌套策略,则将所述随机森林模型中的决策树均转换为字符串数组;
根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码,并将各所述概率预测代码生成为第二预测代码语句。
2.如权利要求1所述的代码语句的生成方法,其特征在于,所述将所述随机森林模型中的决策树均转换为字符串数组的步骤包括:
将各所述决策树中的分支节点转换为判断语句块,并根据各所述决策树的决策类别,将各所述决策树中的叶子节点转换为结果变量组;
根据各所述决策树的决策类别,将各所述决策树对应的判断语句块和对应的结果变量组,生成为各所述决策树的字符串;
将各所述决策树的字符串分别添加到字符串数组保存,其中,各所述字符串数组中位于相同位置顺序的数组元素所对应的所述决策类别相同。
3.如权利要求2所述的代码语句的生成方法,其特征在于,所述根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码的步骤包括:
读取各所述字符串数组中具有相同位置顺序的数组元素;
对具有相同位置顺序的数组元素进行组合处理,生成与各所述决策树的决策类别分别对应的概率预测代码。
4.如权利要求1所述的代码语句的生成方法,其特征在于,所述将各所述概率预测代码生成为第二预测代码语句的步骤包括:
将各所述概率预测代码生成为概率预测数组,并确定所述概率预测数组中的初始对比元素;
将所述初始对比元素添加到预设对比代码中,生成第二预测代码语句。
5.如权利要求1所述的代码语句的生成方法,其特征在于,所述将各所述概率预测代码生成为第二预测代码语句的步骤之后,所述方法还包括:
当接收到运行请求时,控制所述第二预测代码语句运行,将所述概率预测数组中的各所述概率预测代码分别生成为概率值;
基于预设对比代码中的循环对比条件,对比各所述概率值,确定各所述概率值中的最大概率值;
查找与所述最大概率值对应的决策类别,并将所述决策类别作为所述第二预测代码语句运行的运行结果输出。
6.如权利要求1所述的代码语句的生成方法,其特征在于,所述将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句的步骤包括:
将各所述决策树中的分支节点转换为判断语句块,并将各所述决策树中的叶子节点转换为结果变量;
将各所述决策树对应的判断语句块和对应的结果变量,生成为各所述决策树的字符串;
根据预设拼接规则,对各所述字符串进行拼接,生成第一预测代码语句。
7.如权利要求6所述的代码语句的生成方法,其特征在于,所述对各所述字符串进行拼接,生成第一预测代码语句的步骤之后,所述方法还包括:
接收对所述第一预测代码语句进行修正的修正指令,并读取与所述修正指令对应的修正信息;
根据所述修正信息,更新并运行所述第一预测代码语句。
8.如权利要求1-7任一项所述的代码语句的生成方法,其特征在于,所述根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略的步骤包括:
识别所述随机森林模型的模型类型,若所述模型类型为回归模型,则确定对所述随机森林模型进行转换的转换策略为单层策略;
若所述模型类型为分类模型,则确定对所述随机森林模型进行转换的转换策略为嵌套策略。
9.一种代码语句的生成装置,其特征在于,所述代码语句的生成装置包括:
确定模块,用于根据随机森林模型的模型类型,确定对所述随机森林模型进行转换的转换策略;
第一生成模块,用于若所述转换策略为单层策略,则将所述随机森林模型中的决策树均转换为字符串,并根据各所述字符串生成第一预测代码语句;
转换模块,用于若所述转换策略为嵌套策略,则将所述随机森林模型中的决策树均转换为字符串数组;
第二生成模块,用于根据各所述字符串数组,生成与各所述决策树的决策类别分别对应的概率预测代码,并将各所述概率预测代码生成为第二预测代码语句。
10.一种代码语句的生成设备,其特征在于,所述代码语句的生成设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的代码语句的生成程序,所述代码语句的生成程序被所述处理器执行时实现如权利要求1-8中任一项所述的代码语句的生成方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储有代码语句的生成程序,所述代码语句的生成程序被处理器执行时实现如权利要求1-8中任一项所述的代码语句的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128183.0A CN111324344A (zh) | 2020-02-28 | 2020-02-28 | 代码语句的生成方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128183.0A CN111324344A (zh) | 2020-02-28 | 2020-02-28 | 代码语句的生成方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111324344A true CN111324344A (zh) | 2020-06-23 |
Family
ID=71165373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010128183.0A Pending CN111324344A (zh) | 2020-02-28 | 2020-02-28 | 代码语句的生成方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324344A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897832A (zh) * | 2020-07-31 | 2020-11-06 | 深圳前海微众银行股份有限公司 | 模型部署方法、设备及可读存储介质 |
CN113721896A (zh) * | 2021-06-25 | 2021-11-30 | 中债金科信息技术有限公司 | 一种金融欺诈建模语言的优化处理方法及装置 |
-
2020
- 2020-02-28 CN CN202010128183.0A patent/CN111324344A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897832A (zh) * | 2020-07-31 | 2020-11-06 | 深圳前海微众银行股份有限公司 | 模型部署方法、设备及可读存储介质 |
CN111897832B (zh) * | 2020-07-31 | 2024-04-12 | 深圳前海微众银行股份有限公司 | 模型部署方法、设备及可读存储介质 |
CN113721896A (zh) * | 2021-06-25 | 2021-11-30 | 中债金科信息技术有限公司 | 一种金融欺诈建模语言的优化处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11948058B2 (en) | Utilizing recurrent neural networks to recognize and extract open intent from text inputs | |
WO2020140386A1 (zh) | 基于TextCNN知识抽取方法、装置、计算机设备及存储介质 | |
US10936645B2 (en) | Method and apparatus for generating to-be-played multimedia content | |
EP3685243A1 (en) | Content pattern based automatic document classification | |
US11461317B2 (en) | Method, apparatus, system, device, and storage medium for answering knowledge questions | |
CN113011529B (zh) | 文本分类模型的训练方法、装置、设备及可读存储介质 | |
CN111324344A (zh) | 代码语句的生成方法、装置、设备及可读存储介质 | |
CN111582341A (zh) | 用户异常操作预测方法及装置 | |
EP4060517A1 (en) | System and method for designing artificial intelligence (ai) based hierarchical multi-conversation system | |
CN115730597A (zh) | 多级语义意图识别方法及其相关设备 | |
CN115358397A (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
CN113296755A (zh) | 代码结构树库构建方法和信息推送方法 | |
CN113254649B (zh) | 敏感内容识别模型的训练方法、文本识别方法及相关装置 | |
CN110597847A (zh) | Sql语句自动生成方法、装置、设备及可读存储介质 | |
US11625630B2 (en) | Identifying intent in dialog data through variant assessment | |
CN112395880B (zh) | 结构化三元组的纠错方法、装置、计算机设备及存储介质 | |
CN110532448B (zh) | 基于神经网络的文档分类方法、装置、设备及存储介质 | |
Mendonça et al. | Onception: Active learning with expert advice for real world machine translation | |
CN111897832A (zh) | 模型部署方法、设备及可读存储介质 | |
CN117235236B (zh) | 对话方法、装置、计算机设备和存储介质 | |
CN115102852B (zh) | 物联网业务开通方法、装置、电子设备及计算机介质 | |
CN114841471B (zh) | 知识点预测方法、装置、电子设备和存储介质 | |
CN116776870B (zh) | 意图识别方法、装置、计算机设备及介质 | |
KR102623561B1 (ko) | 데이터의 타입을 자동으로 판별하여 메타데이터를 생성하는 방법 및 이를 위한 머신러닝/딥러닝 모델을 이용한 데이터 타입 판별 장치 | |
CN115510203B (zh) | 问题答案确定方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |