CN110727659A - 基于sql语句的决策树模型生成方法、装置、设备及介质 - Google Patents

基于sql语句的决策树模型生成方法、装置、设备及介质 Download PDF

Info

Publication number
CN110727659A
CN110727659A CN201911017338.7A CN201911017338A CN110727659A CN 110727659 A CN110727659 A CN 110727659A CN 201911017338 A CN201911017338 A CN 201911017338A CN 110727659 A CN110727659 A CN 110727659A
Authority
CN
China
Prior art keywords
decision tree
tree model
sql statement
splitting
node
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.)
Granted
Application number
CN201911017338.7A
Other languages
English (en)
Other versions
CN110727659B (zh
Inventor
李诗琦
黄启军
陈瑞钦
唐兴兴
刘玉德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201911017338.7A priority Critical patent/CN110727659B/zh
Publication of CN110727659A publication Critical patent/CN110727659A/zh
Application granted granted Critical
Publication of CN110727659B publication Critical patent/CN110727659B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于SQL语句的决策树模型生成方法、装置、终端设备及可计算机读存储介质,通过通过拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块;对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。本发明直接从SQL语句导入而自动生成决策树模型,无需建模人员手动对每个节点进行拆分,从而节省了手动建模所消耗的时间,提升了决策树模型的构建效率。

Description

基于SQL语句的决策树模型生成方法、装置、设备及介质
技术领域
本发明涉及Fintech(金融科技)技术领域,尤其涉及一种基于SQL语句的决策树模型生成方法、装置、终端设备及计算机可读存储介质。
背景技术
决策树算法广泛的应用于金融领域,例如银行最基本最重要的资产业务信贷业务中会使用到决策树进行信贷风险建模。
目前,建模人员需要使用旧有模型、或从SQL(Structured Query Language,结构化查询语言)语句中建立模型时,需要使用交互式建模的方法,一般使用类似SASEnterprise Miner(一种应用于数据挖掘市场的商业统计分析工具)的工具,手动一个节点一个节点的进行拆分构建,如此,模型构建耗时长,效率低下。
发明内容
本发明的主要目的在于提供一种基于SQL语句的决策树模型生成方法、装置、终端设备及计算机可读存储介质,旨在解决现有依靠建模人员手动构建决策树模型耗费时间长,构建效率严重低下的技术问题。
为实现上述目的,本发明提供一种基于SQL语句的决策树模型生成方法,所述基于SQL语句的决策树模型生成方法包括:
拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块;
对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;
按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。
进一步地,所述决策树模型中的所述节点至少包括:根节点和子节点,
所述拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块的步骤,包括:
逐层拆分所述SQL语句以得到各待匹配子SQL语句块;
识别各所述待匹配子SQL语句块中的关键字以建立各所述待匹配子SQL语句块与所述根节点或者所述子节点之间的匹配关系。
进一步地,所述逐层拆分所述SQL语句以得到各待匹配子SQL语句块的步骤,包括:
拆分最外层SQL语句为父节点信息和各子节点信息;
对各所述子节点信息中含有所述关键字的子节点信息继续进行拆分,以得到新的所述子节点信息;
将拆分得到的所述父节点信息、各所述子节点信息中不含有所述关键字的子节点信息,和新的所述子节点信息标记为所述待匹配子SQL语句块。
进一步地,在所述拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块的步骤之后,还包括:
遍历各所述子SQL语句块对应生成所述决策树模型的整体结构,以将经决策树推理得到的预测值填充至所述整体结构中。
进一步地,所述对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则的步骤,包括:
解析识别所述子SQL语句块的判断条件,并获取所述判断条件的取值信息;
将所述判断条件和所述取值信息转化为拆分规则填充至与所述子SQL语句块相匹配的节点。
进一步地,所述按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型的步骤,包括:
调用预设训练数据按照所述决策树模型中各所述节点的所述拆分规则进行决策树推理;
将经过推理得到的预测值作为所述决策树模型的节点预测值,以确定生成所述决策树模型。
进一步地,在所述拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块的步骤之前,还包括:
对预设判断规则进行SQL语句转化,得到所述预设判断规则对应的SQL语句;
所述拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块,对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型包括:
拆分所述预设判断规则对应的SQL语句,得到所述预设判断规则对应的子SQL语句块;对所述预设判断规则对应的子SQL语句块进行语法解析以生成各所述节点的拆分规则;按照所述拆分规则进行决策树推理,以更新节点预测值生成用于反映所述预设判断规则的决策树模型。
此外,为实现上述目的,本发明还提供一种基于SQL语句的决策树模型生成装置,所述基于SQL语句的决策树模型生成装置包括:
拆分模块,用于拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块;
解析模块,用于对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;
推理模块,用于按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。
本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于SQL语句的决策树模型生成程序,所述基于SQL语句的决策树模型生成程序被所述处理器执行时实现如上述中的基于SQL语句的决策树模型生成方法的步骤。
本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的基于SQL语句的决策树模型生成方法的步骤。
本发明提出的基于SQL语句的决策树模型生成方法、装置、终端设备以及计算机可读存储介质,通过拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块;对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。本发明实现了,直接从SQL语句导入而自动生成决策树模型,无需建模人员手动对每个节点进行拆分,从而节省了手动建模所消耗的时间,提升了决策树模型的构建效率。
附图说明
图1是本发明实施例方案涉及的硬件运行的结构示意图;
图2是本发明一种基于SQL语句的决策树模型生成方法第一实施例的流程示意图;
图3是本发明一种基于SQL语句的决策树模型生成方法一实施例中步骤S100的细化流程示意图;
图4是本发明一种基于SQL语句的决策树模型生成方法一实施例中步骤S200的细化流程示意图;
图5是本发明一种基于SQL语句的决策树模型生成方法一实施例的应用场景示意图;
图6是本发明一种基于SQL语句的决策树模型生成装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图1即可为终端设备的硬件运行环境的结构示意图。本发明实施例终端设备可以是PC,便携计算机等终端设备。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式任务的处理程序。其中,操作系统是管理和控制样本终端设备硬件和软件资源的程序,支持分布式任务的处理程序以及其它软件或程序的运行。
在图1所示的终端设备中,用户接口1003主要用于与各个终端进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于SQL语句的决策树模型生成程序,并执行以下操作:
拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块;
对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;
按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。
进一步地,处理器1001可以调用存储器1005中存储的基于SQL语句的决策树模型生成程序,还执行以下操作:
逐层拆分所述SQL语句以得到各待匹配子SQL语句块;
识别各所述待匹配子SQL语句块中的关键字以建立各所述待匹配子SQL语句块与所述根节点或者所述子节点之间的匹配关系。
进一步地,处理器1001可以调用存储器1005中存储的基于SQL语句的决策树模型生成程序,还执行以下操作:
拆分最外层SQL语句为父节点信息和各子节点信息;
对各所述子节点信息中含有所述关键字的子节点信息继续进行拆分,以得到新的所述子节点信息;
将拆分得到的所述父节点信息、各所述子节点信息中不含有所述关键字的子节点信息,和新的所述子节点信息标记为所述待匹配子SQL语句块。
进一步地,处理器1001可以调用存储器1005中存储的基于SQL语句的决策树模型生成程序,在执行拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块之后,还执行以下操作:
遍历各所述子SQL语句块对应生成所述决策树模型的整体结构,以将经决策树推理得到的预测值填充至所述整体结构中。
进一步地,处理器1001可以调用存储器1005中存储的基于SQL语句的决策树模型生成程序,还执行以下操作:
解析识别所述子SQL语句块的判断条件,并获取所述判断条件的取值信息;
将所述判断条件和所述取值信息转化为拆分规则填充至与所述子SQL语句块相匹配的节点。
进一步地,处理器1001可以调用存储器1005中存储的基于SQL语句的决策树模型生成程序,还执行以下操作:
调用预设训练数据按照所述决策树模型中各所述节点的所述拆分规则进行决策树推理;
将经过推理得到的预测值作为所述决策树模型的节点预测值,以确定生成所述决策树模型。
进一步地,处理器1001可以调用存储器1005中存储的基于SQL语句的决策树模型生成程序,在执行拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块之前,还执行以下操作:
对预设判断规则进行SQL语句转化,得到所述预设判断规则对应的SQL语句;
处理器1001可以调用存储器1005中存储的基于SQL语句的决策树模型生成程序,还执行以下操作:
拆分所述预设判断规则对应的SQL语句,得到所述预设判断规则对应的子SQL语句块;对所述预设判断规则对应的子SQL语句块进行语法解析以生成各所述节点的拆分规则;按照所述拆分规则进行决策树推理,以更新节点预测值生成用于反映所述预设判断规则的决策树模型。
基于上述的结构,提出本发明基于SQL语句的决策树模型生成方法的各个实施例。
请参照图2,图2为本发明基于SQL语句的决策树模型生成方法第一实施例的流程示意图。
本发明实施例提供了基于SQL语句的决策树模型生成方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例基于SQL语句的决策树模型生成方法应用于上述终端设备,本发明实施例终端设备可以是PC,便携计算机等终端设备,在此不做具体限制。
本实施例基于SQL语句的决策树模型生成方法包括:
步骤S100,拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块。
在开始创建决策树模型时,对已有或者即时转化生成的SQL语句进行拆分,从而生成多个与需要构建的决策树模型的各个节点对应匹配的子SQL语句块。
需要说明的是,决策树模型指具有决策树要素的数据结构,可以由任意编程语言实现,而由于SQL语句作为一种数据结构化查询语言,其数据存取与方式的运行过程与决策树模型的整体运行之间存在相对应的层级关系,因此可以从SQL语句中来构建决策树模型。
进一步地,请参照图3,图3为步骤S100的细化流程示意图,步骤S100,包括:
步骤S101,逐层拆分所述SQL语句以得到各待匹配子SQL语句块。
按照由外至里的层级顺序,逐层的对建模人员所选择的SQL语句进行拆分,从而形成多个等待与建模人员需要构建的决策树模型中各节点相对应匹配的待匹配子SQL语句块。
进一步地,步骤S101,包括:
步骤S1011,拆分最外层SQL语句为父节点信息和各子节点信息;
步骤S1012,对各所述子节点信息中含有所述关键字的子节点信息继续进行拆分,以得到新的所述子节点信息;
步骤S1013,将拆分得到的所述父节点信息、各所述子节点信息中不含有所述关键字的子节点信息,和新的所述子节点信息标记为所述待匹配子SQL语句块。
具体地,例如,在如图5所示的应用场景中,按照由最外层逐层至里的拆分顺序,先将SQL语句的最外层节点(判断“age(年龄)”)拆分为两个最外层CASE WHEN ELSE END(条件语句)所划分下的子SQL语句块1:
Figure BDA0002246115940000081
和子SQL语句块2:
Figure BDA0002246115940000082
需要说明的是,本实施例中,建模人员需要构建的决策树模型中各节点的节点类型至少包括:根节点和子节点。
步骤S102,识别各所述待匹配子SQL语句块中的关键字以建立各所述待匹配子SQL语句块与所述根节点或者所述子节点之间的匹配关系。
通过调用预设字符匹配算法,对拆分SQL语句而形成的多个待匹配子SQL语句块进行匹配,从而为每一个待匹配子SQL语句块与建模人员所需要构建的决策树模型的根节点和各子节点之间所一一对应的匹配关系。
具体地,例如,可通过调用括号匹配算法,使用栈的数据结构对拆分得到的子SQL语句块中的“CASE”、“WHEN”、“ELSE”和/或者“END”几个关键字进行匹配,从而对应的建立最外层CASE WHEN ELSE END条件语句与建模人员当前所需要构建的决策树模型中,根节点之间一一对应的匹配关系,并同时建立各子SQL语句块与建模人员当前所需要构建的决策树模型中,各子节点之间一一对应的匹配关系。
需要说明的是,本实施例中,可调用的预设字符匹配算法可以是括号匹配算法或者正则表达式匹配算法等任意字符串匹配算法,应当理解的是,本发明建模数据评价指标的计算方法,并不对将各子SQL语句块匹配为决策树模型中根节点或者各子节点所对应的代码块而调用的匹配算法进行限定。
进一步地,在另一个实施例中,在上述步骤S100,拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块之后,本发明基于SQL语句的决策树模型生成方法,还包括:
步骤A,遍历各所述子SQL语句块对应生成所述决策树模型的整体结构,以将经决策树推理得到的预测值填充至所述整体结构中。
采用前序遍历的方式对拆分SQL语句而形成的多个子SQL语句块进行遍历,从而对应组建决策树模型中根节点与各子节点,以最终形成整个建模人员所需构建的决策树模型的整体架构。
具体地,例如,采用前序遍历(根、左、右)的遍历方式,先导入拆分出来的SQL语句的最外层CASE WHEN ELSE END条件语句,对应的生成当前建模人员所需要构建的决策树模型的根节点,随后导入各子SQL语句块的CASE WHEN ELSE END条件语句,以对应的生成所需要构建的决策树模型的根节点向左方向指定的子节点,并在全部左方向上的子节点生成至叶子节点,即导入的SQL语句的最外层CASE WHEN ELSE END条件语句下的其中一个判断分支,子SQL语句块中不含有“CASE”、“WHEN”、“ELSE”或者“END”关键字时,再基于从决策树模型的根节点向右方向开始生成指定的子节点,直到最终所导入的子SQL语句块中不含有“CASE”、“WHEN”、“ELSE”或者“END”关键字。
步骤S200,对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则。
调用现有的任意语法解析算法,对通过拆分完整的SQL语句得到的各子SQL语句块进行语法解析,从而解析识别出各子SQL语句块的判断条件,并同时获取各子SQL语句块不同判断条件所对应的取值信息,然后运用任意编程语言将解析出的各子SQL语句块不同的判断条件以及判断条件下对应的取值信息,转化为各子SQL语句块所对应匹配的当前建模人员所需构建决策树模型各节点的拆分规则,并将该转化完成的拆分规则填充至当前节点,以构建当前决策树模型完整架构下的各完整的拆分节点。
需要说明的是,本实施例中,可以通过调用任意语法解析算法对子SQL语句块进行语法解析操作,并且也可通过调用任意的编程语言将判断条件以及取值信息转化为各子SQL语句块在决策树模型中所对应匹配的节点的拆分规则,应当理解的是,本发明基于SQL语句的决策树模型生成方法,并不对可实现语法解析以及字符匹配等计算平台和编程语言进行限定,因此,本发明可无需考虑建模人员对特征计算平台以及编程语言的使用能力,提升了决策树模型的构建效率。
步骤S300,按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。
进一步地,步骤S300,包括:
步骤S301,调用预设训练数据按照所述决策树模型中各所述节点的所述拆分规则进行决策树推理。
步骤S302,将经过推理得到的预测值作为所述决策树模型的节点预测值,以确定生成所述决策树模型。
调用建模人员构建当前决策树模型所使用的训练数据,按照当前决策树已经构建完成的整体结构以及当前决策树模型中,根节点与各子节点当中所填充的拆分规则,对当前决策树模型进行决策树推理得出当前决策树模型中各“叶子节点”的预测值,将该推理得出的预测值对该各个“叶子节点”进行更新作为当前决策树模型的最终预测结果。
需要说明的是,本实施例中,决策树模型由节点和分支构成,节点可分为两类:叶子节点和非叶子节点;非叶子节中有一个根节点,是决策树模型的第一个选择点;每个非叶子节点分出至少两个分支,每个分支指向一个叶子节点或非叶子节点;非叶子节点的分支所指向的节点,称为该非叶子节点的子节点,该非叶子节点称为所指向的各节点的父节点;非叶子节点中包含拆分规则,非叶子节点的数据将根据选定变量特征的取值不同,分配至不同的子节点,这种选定的变量特征,以及取值的划分称为拆分规则;叶子节点不再指向任何节点。
在本实施例中,通过在开始创建决策树模型时,对已有或者即时转化生成的SQL语句进行拆分,从而生成多个与需要构建的决策树模型的各个节点对应匹配的子SQL语句块,采用前序遍历的方式对拆分SQL语句而形成的多个子SQL语句块进行遍历,从而对应组建决策树模型中根节点与各子节点,以最终形成整个建模人员所需构建的决策树模型的整体架构,调用现有的任意语法解析算法,对通过拆分完整的SQL语句得到的各子SQL语句块进行语法解析,从而解析识别出各子SQL语句块的判断条件,并同时获取各子SQL语句块不同判断条件所对应的取值信息,然后运用任意编程语言将解析出的各子SQL语句块不同的判断条件以及判断条件下对应的取值信息,转化为各子SQL语句块所对应匹配的当前建模人员所需构建决策树模型各节点的拆分规则,并将该转化完成的拆分规则填充至当前节点,以构建当前决策树模型完整架构下的各完整的拆分节点,调用建模人员构建当前决策树模型所使用的训练数据,按照当前决策树已经构建完成的整体结构以及当前决策树模型中,根节点与各子节点当中所填充的拆分规则,对当前决策树模型进行决策树推理得出当前决策树模型中各“叶子节点”的预测值,将该推理得出的预测值对该各个“叶子节点”进行更新作为当前决策树模型的最终预测结果。
实现了,可直接从SQL语句导入而自动生成决策树模型,无需建模人员手动对每个节点进行拆分,从而节省了手动建模所消耗的时间,提升了决策树模型的构建效率。
进一步地,基于上述基于SQL语句的决策树模型生成方法第一实施例,提出本发明基于SQL语句的决策树模型生成方法的第二实施例。
请参照图4,图4为上述本发明基于SQL语句的决策树模型生成方法第一实施例中,步骤S200的细化流程示意图,在本发明基于SQL语句的决策树模型生成方法的第二实施例中,步骤S200,对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则,包括:
步骤S201,解析识别所述子SQL语句块的判断条件,并获取所述判断条件的取值信息。
步骤S202,将所述判断条件和所述取值信息转化为拆分规则填充至与所述子SQL语句块相匹配的节点。
具体地,例如,在如图5所示的应用场景中,将拆分SQL语句最外层CASE WHEN ELSEEND条件语句时,通过解析识别到该完整的最外层条件语句:
“CASE WHEN AGE<=28.5 THEN
ELSE
END”
中,所出现的字符“<=”以及“>”得出当前判断条件中的“age”特征-年龄,属于区间型特征,而紧随该字符“<=”以及“>”的数值字符“28.5”即为当前判断条件下的取值信息,则对应的将该“28.5”转化为当前构建的决策树模型中当前最外层CASE WHEN ELSE END条件语句所对应匹配的根节点的拆分点,拆分条件中其中一个分支为可编程书写为:<=28.5,对应的另一个分支即编程书写为:>28.5。
需要说明的是,本实施例中,SQL语句判断条件中的特征所属的特征类型包括区间型特征和列名型特征,其中,区间型特征是指按区间进行划分,例如年龄,升高、体重等具有大小属性的特征,列名型特征是指按取值类别进行划分的特征,例如国籍、民族等特征。
进一步地,在另一个实施例中,若解析识别出在通过拆分完整的SQL语句而得到的各子SQL语句块判断条件中的特征所属的特征类型为和列名型特征时,对应的将取值转化为所需构建的决策树模型中对应匹配节点的拆分规则。
具体地,例如,若解析识别的条件语句:
“CASE WHEN国籍in(中国,日本,韩国)THEN
ELSE
END”
中,所出现的关键字符为“in”,则确定当前语句判断条件中的“国籍”特征属于区间型特征,而处于该关键字符“in”与当前语句中“THEN”之间的字符内容“中国,日本,韩国”,即为当前判断条件下的取值,则可通过编程语言将该“中国,日本,韩国”转化为当前构建的决策树模型中,当前子SQL语句块所对应匹配的子节点的拆分条件。
进一步地,在另一个实施例中,本发明基于SQL语句的决策树模型生成方法,在上述第一实施例的步骤S100,拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块之前,还包括:
步骤B,对预设判断规则进行SQL语句转化,得到所述预设判断规则对应的SQL语句。
需要说明的是,建模人员基于模型的构建需求,往往在构建决策树模型过程中,结合机器学习结果与专家规则(行业长时间实践的经验规则),则当建模人员需要在决策树模型中的部分节点使用到专家规则时,需要建模人员手动采用交互式的建模方式来将专家规则导入到该决策树模型中,如此,整个规则的导入操作将异常繁琐。
对预设判断规则进行SQL语句转化,得到预设判断规则对应的SQL语句;拆分预设判断规则对应的SQL语句,得到预设判断规则对应的子SQL语句块;对预设判断规则对应的子SQL语句块进行语法解析以生成各节点的拆分规则;按照拆分规则进行决策树推理,以更新节点预测值生成用于反映预设判断规则的决策树模型。
本实施例中,通过将建模人员需要导入到决策树模型中的专家规则,首先基于任意编程语言先转化为SQL语句,从而基于上述对SQL语句进行拆分形成决策树模型中各节点所对应匹配的各子SQL语句块,然后通过语法解析对应转化各子SQL语句块判断条件为对应节点的拆分规则,最后使用训练数据基于各节点的拆分规则进行决策树推理,从而对决策树模型中的叶子节点预测值进行更新,即实现只需要将需要导入到决策树模型中的专家规则转化为SQL语句,即可自动基于SQL语句将该专家规则导入至决策树模型当中,提升了决策树模型构建的灵活性与构建效率。
此外,请参照图6,本发明实施例还提出一种基于SQL语句的决策树模型生成装置,本发明基于SQL语句的决策树模型生成装置,包括:
拆分模块,用于拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块;
解析模块,用于对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;
推理模块,用于按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。
优选地,拆分模块,包括:
拆分单元,用于逐层拆分所述SQL语句以得到各待匹配子SQL语句块;
匹配单元,用于识别各所述待匹配子SQL语句块中的关键字以建立各所述待匹配子SQL语句块与所述根节点或者所述子节点之间的匹配关系。
优选地,拆分单元,还包括:
第一拆分子单元,用于拆分最外层SQL语句为父节点信息和各子节点信息;
第一拆分子单元,用于对各所述子节点信息中含有所述关键字的子节点信息继续进行拆分,以得到新的所述子节点信息;
第一标记单元,用于将拆分得到的所述父节点信息、各所述子节点信息中不含有所述关键字的子节点信息,和新的所述子节点信息标记为所述待匹配子SQL语句块。
优选地,本发明基于SQL语句的决策树模型生成装置,还包括:
遍历模块,用于遍历各所述子SQL语句块对应生成所述决策树模型的整体结构,以将经决策树推理得到的预测值填充至所述整体结构中。
优选地,解析模块,包括:
解析识别单元,用于解析识别所述子SQL语句块的判断条件,并获取所述判断条件的取值信息;
填充单元,用于将所述判断条件和所述取值信息转化为拆分规则填充至与所述子SQL语句块相匹配的所述节点。
优选地,推理模块,还包括:
推理单元,用于调用预设训练数据按照所述决策树模型中各所述节点的所述拆分规则进行决策树推理;
第二标记单元,用于将经过推理得到的预测值作为所述决策树模型的节点预测值,以确定生成所述决策树模型。
优选地,本发明基于SQL语句的决策树模型生成装置,还包括:
转化模块,用于对预设判断规则进行SQL语句转化,得到所述预设判断规则对应的SQL语句;
本发明基于SQL语句的决策树模型生成装置,还用于拆分所述预设判断规则对应的SQL语句,得到所述预设判断规则对应的子SQL语句块;对所述预设判断规则对应的子SQL语句块进行语法解析以生成各所述节点的拆分规则;按照所述拆分规则进行决策树推理,以更新节点预测值生成用于反映所述预设判断规则的决策树模型。
本实施例提出的基于SQL语句的决策树模型生成装置各个功能模块在运行时实现如上所述的基于SQL语句的决策树模型生成方法的步骤,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,应用于计算机,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质上存储有基于SQL语句的决策树模型生成程序,所述基于SQL语句的决策树模型生成程序被处理器执行时实现如上所述的基于SQL语句的决策树模型生成方法的步骤。
其中,在所述处理器上运行的基于SQL语句的决策树模型生成程序被执行时所实现的步骤可参照本发明基于SQL语句的决策树模型生成方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于SQL语句的决策树模型生成方法,其特征在于,所述基于SQL语句的决策树模型生成方法,包括:
拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块;
对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;
按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。
2.如权利要求1所述的基于SQL语句的决策树模型生成方法,其特征在于,所述决策树模型中的所述节点至少包括:根节点和子节点,
所述拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块的步骤,包括:
逐层拆分所述SQL语句以得到各待匹配子SQL语句块;
识别各所述待匹配子SQL语句块中的关键字以建立各所述待匹配子SQL语句块与所述根节点或者所述子节点之间的匹配关系。
3.如权利要求2所述的基于SQL语句的决策树模型生成方法,其特征在于,所述逐层拆分所述SQL语句以得到各待匹配子SQL语句块的步骤,包括:
拆分最外层SQL语句为父节点信息和各子节点信息;
对各所述子节点信息中含有所述关键字的子节点信息继续进行拆分,以得到新的所述子节点信息;
将拆分得到的所述父节点信息、各所述子节点信息中不含有所述关键字的子节点信息,和新的所述子节点信息标记为所述待匹配子SQL语句块。
4.如权利要求1所述的基于SQL语句的决策树模型生成方法,其特征在于,在按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型的步骤之前,还包括:
遍历各所述子SQL语句块对应生成所述决策树模型的整体结构;
所述按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型,包括:
将经决策树推理得到的节点预测值填充至所述整体结构中,以生成所述决策树模型。
5.如权利要求1所述的基于SQL语句的决策树模型生成方法,其特征在于,所述对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则的步骤,包括:
解析识别所述子SQL语句块的判断条件,并获取所述判断条件的取值信息;
将所述判断条件和所述取值信息转化为拆分规则填充至与所述子SQL语句块相匹配的节点。
6.如权利要求1所述的基于SQL语句的决策树模型生成方法,其特征在于,所述按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型的步骤,包括:
调用预设训练数据按照所述决策树模型中各所述节点的所述拆分规则进行决策树推理;
将经过推理得到的预测值作为所述决策树模型的节点预测值,以确定生成所述决策树模型。
7.如权利要求1所述的基于SQL语句的决策树模型生成方法,其特征在于,在所述拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块的步骤之前,还包括:
对预设判断规则进行SQL语句转化,得到所述预设判断规则对应的SQL语句;
所述拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块,对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型包括:
拆分所述预设判断规则对应的SQL语句,得到所述预设判断规则对应的子SQL语句块;对所述预设判断规则对应的子SQL语句块进行语法解析以生成各所述节点的拆分规则;按照所述拆分规则进行决策树推理,以更新节点预测值生成用于反映所述预设判断规则的决策树模型。
8.一种基于SQL语句的决策树模型生成装置,其特征在于,所述基于SQL语句的决策树模型生成装置,包括:
拆分模块,用于拆分SQL语句生成与决策树模型中各节点相匹配的子SQL语句块;
解析模块,用于对所述子SQL语句块进行语法解析以生成各所述节点的拆分规则;
推理模块,用于按照所述拆分规则进行决策树推理,以更新节点预测值生成所述决策树模型。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于SQL语句的决策树模型生成程序,所述基于SQL语句的决策树模型生成程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于SQL语句的决策树模型生成方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于SQL语句的决策树模型生成方法的步骤。
CN201911017338.7A 2019-10-24 2019-10-24 基于sql语句的决策树模型生成方法、装置、设备及介质 Active CN110727659B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911017338.7A CN110727659B (zh) 2019-10-24 2019-10-24 基于sql语句的决策树模型生成方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911017338.7A CN110727659B (zh) 2019-10-24 2019-10-24 基于sql语句的决策树模型生成方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN110727659A true CN110727659A (zh) 2020-01-24
CN110727659B CN110727659B (zh) 2023-08-18

Family

ID=69221921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911017338.7A Active CN110727659B (zh) 2019-10-24 2019-10-24 基于sql语句的决策树模型生成方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110727659B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309852A (zh) * 2020-03-16 2020-06-19 青岛百洋智能科技股份有限公司 生成可视化决策树(集)模型的方法、系统、装置及存储介质
CN111340147A (zh) * 2020-05-22 2020-06-26 四川新网银行股份有限公司 基于决策树的决策行为生成方法及系统
CN111638883A (zh) * 2020-05-14 2020-09-08 四川新网银行股份有限公司 基于决策树的决策引擎实现方法
CN111782678A (zh) * 2020-05-29 2020-10-16 北京沃东天骏信息技术有限公司 数据存储方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199831A (zh) * 2014-07-31 2014-12-10 深圳市腾讯计算机系统有限公司 信息处理方法及装置
CN108292409A (zh) * 2016-01-08 2018-07-17 甲骨文国际公司 消费者决策树生成系统
CN108320171A (zh) * 2017-01-17 2018-07-24 北京京东尚科信息技术有限公司 热销商品预测方法、系统及装置
CN108363759A (zh) * 2018-02-01 2018-08-03 厦门快商通信息技术有限公司 基于结构化数据的主题树生成方法及系统及智能对话方法
CN108629592A (zh) * 2018-04-28 2018-10-09 北京三快在线科技有限公司 一种结算配置方法及装置和电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199831A (zh) * 2014-07-31 2014-12-10 深圳市腾讯计算机系统有限公司 信息处理方法及装置
CN108292409A (zh) * 2016-01-08 2018-07-17 甲骨文国际公司 消费者决策树生成系统
CN108320171A (zh) * 2017-01-17 2018-07-24 北京京东尚科信息技术有限公司 热销商品预测方法、系统及装置
CN108363759A (zh) * 2018-02-01 2018-08-03 厦门快商通信息技术有限公司 基于结构化数据的主题树生成方法及系统及智能对话方法
CN108629592A (zh) * 2018-04-28 2018-10-09 北京三快在线科技有限公司 一种结算配置方法及装置和电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309852A (zh) * 2020-03-16 2020-06-19 青岛百洋智能科技股份有限公司 生成可视化决策树(集)模型的方法、系统、装置及存储介质
CN111638883A (zh) * 2020-05-14 2020-09-08 四川新网银行股份有限公司 基于决策树的决策引擎实现方法
CN111638883B (zh) * 2020-05-14 2023-05-16 四川新网银行股份有限公司 基于决策树的决策引擎实现方法
CN111340147A (zh) * 2020-05-22 2020-06-26 四川新网银行股份有限公司 基于决策树的决策行为生成方法及系统
CN111782678A (zh) * 2020-05-29 2020-10-16 北京沃东天骏信息技术有限公司 数据存储方法和装置

Also Published As

Publication number Publication date
CN110727659B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
US11599714B2 (en) Methods and systems for modeling complex taxonomies with natural language understanding
CN110727659A (zh) 基于sql语句的决策树模型生成方法、装置、设备及介质
US9223777B2 (en) Self-learning semantic search engine
CN112860727B (zh) 基于大数据查询引擎的数据查询方法、装置、设备及介质
CN111538825B (zh) 知识问答方法、装置、系统、设备及存储介质
CN110399169A (zh) Bios选项的修改方法、装置、设备及可读存储介质
CN114281968B (zh) 一种模型训练及语料生成方法、装置、设备和存储介质
CN114547072A (zh) 自然语言查询转换sql方法、系统、设备及存储介质
Keim et al. Towards consistency checking between software architecture and informal documentation
CN114840869A (zh) 基于敏感度识别模型的数据敏感度识别方法及装置
CN113656590A (zh) 行业图谱的构建方法、装置、电子设备及存储介质
CN115062617A (zh) 基于提示学习的任务处理方法、装置、设备及介质
CN110597847A (zh) Sql语句自动生成方法、装置、设备及可读存储介质
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
EP4254175A1 (en) Enriching code for code explainability
CN117314139A (zh) 业务流程的建模方法、装置、终端设备及存储介质
WO2023103914A1 (zh) 文本情感分析方法、装置及计算机可读存储介质
CN111324344A (zh) 代码语句的生成方法、装置、设备及可读存储介质
CN110716953A (zh) Sql语句自动生成方法、装置、设备及可读存储介质
CN113688232B (zh) 招标文本分类方法、装置、存储介质及终端
CN115470232A (zh) 模型训练和数据查询方法、装置、电子设备和存储介质
US20220284371A1 (en) Method, device and medium for a business function page
CN115222058A (zh) 调控系统运行状态分析模型构建方法及装置、介质及设备
CN111782781A (zh) 一种语义分析方法、装置、计算机设备及存储介质
CN112560466A (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
GR01 Patent grant
GR01 Patent grant