4.6 决策树

4.6.1 名词解释

1)决策树的定义

决策树 (Decision Tree) 是UDM 中一种可视化、分层的决策建模构件,用于以树形结构表达一组互斥且完备的业务规则。它通过一系列有序的条件判断对输入事实进行分类或评估,最终导向一个或多个确定的结论、赋值或操作。规则树特别适用于具有清晰层级判断逻辑、且可分解为“if-then-else”链式结构的业务场景,如风险评分、客户分类、资格审核等。

image-20260330225139089

图例说明:

  • 上图中的1号区为前置表件表达式编辑区
  • 上图中的2号区为条件分支、动作节点的表达式编辑区
  • 上图中蓝色节点为决策节点用来设置条件表达式,红色连线为分支连线用来设置表达式值使其成为一个完整的表达式,黄色为动作节点用来设置动作行为

2)前置条件

前置条件作为决策树的全局守卫条件(Guard Condition),是一个布尔表达式(返回 truefalse),用于控制决策树的“总开关”:

  • 若前置条件为 true:决策树启动,逐层级执行内部规则(从根节点开始向下遍历)。
  • 若前置条件为 false:直接跳过整个决策树,所有内部规则均不执行。
  • 业务意义:可提前过滤无效场景(如“客户年龄 < 18 岁”则无需执行后续信贷审批规则),减少计算资源浪费。
  • 如何配置:用户直接在上图前置表达式编辑区编写表达式。

3)条件分支

条件分支由决策节点(Decision Node)和分支连线(Branch Edge)组成,形成树状层级结构:

  • 决策节点:设置条件表达式(如 客户信用评分 > 700),作为分支的“判断依据”。
  • 分支连线:定义条件的取值范围或枚举值(如“是/否”“区间值”“枚举值”),对应不同的子分支路径。
  • 层级逻辑:从根节点(Root Node)开始,逐层向下判断,每层节点的条件表达式独立,分支连线的取值范围互斥(避免规则冲突)。
  • 如何配置:用户在点击某一决策节点后,在表达式编辑区编写带有占位符(例如,xx 大于<一个数字> 或者 yy 是<一个字符串>)的条件表达式,然后用户点击流出的分支连线设置值和范围。

4)动作节点

动作节点是决策树的叶子节点(Leaf Node),用于定义最终的业务动作:

  • 限制:动作节点不允许再向下“开枝散叶”(无子节点),仅作为规则执行的终点。
  • 动作配置:通过右键添加多个操作(如“批准贷款”“拒绝申请”“发送短信通知”),每个动作可关联多个操作表达式(Action Expression)。
  • 动作表达式:在编辑区编写具体规则(如“设置审批状态 = ‘通过’”“调用短信接口发送 ‘您的申请已通过’”),支持复杂业务逻辑(如调用外部系统、更新数据库、计算数值等)。

5)决策树执行流程

  1. 前置条件检查:先判断全局守卫条件,若为 false 则直接终止。
  2. 根节点判断:若前置条件为 true,从根节点开始,计算条件表达式,根据分支连线的取值范围选择子分支。
  3. 层级遍历:逐层向下执行,每层节点的条件表达式独立判断,分支路径互斥(确保唯一执行路径)。
  4. 动作执行:到达叶子节点后,执行关联的动作表达式,完成业务规则的最终处理。

4.6.2 示例

1)设置决策树样式

  • 用户右键画布空白处,弹出配置菜单项

image-20260331102457324

  • 按需修改样式和配色,确定后生效

image-20260331103304981

2)如何配置决策节点

  • 编写条件表达式:用户在鼠标左键选中某一树节点后,可在表达式编辑区编写带有占位符(例如,xx 大于<一个数字> 或者 yy 是<一个字符串>)的条件表达式,可通过输入空格可自动触发输入提示词。

  • 打开右键菜单:先用鼠标左键选中某一树节点后,再右键菜单,显示如下

image-20260331103428498

  • 设置标题:修改树节点的名称。
  • 添加父条件:在当前节点上面再添加一层节点。比如当前选中的节点为根节点,那么在执行添加父条件后其自动变为子节点了。
  • 添加子条件:在当前节点下面添加一个子节点。
  • 添加否则子条件:在当前节点下面添加一个子节点,并且不能绑定条件,作为其兄弟分支路径均未匹配成功时的默认路径。
  • 添加动作:在当前节点下面添加一个动作区域,作为此分支路径匹配成功后的动作行为。
  • 添加否则动作:在当前节点下面添加一个动作区域,作为其它兄弟分支路径均未匹配成功后的默认动作行为。

3)如何配置分支连线

  • 表达式值的设置:鼠标左键点击连线上的文本,在表达式编辑区会显示当前分支的条件表达式,用户需要按需设置值

image-20260331104801318

  • 添加运算符:鼠标右键连线文本后选择对应的运算符号

image-20260331110737255

  • 通过对比发现,树节点的表达式中有占位符'我的贷款申请' 的信用评分 是 <一个数字>,在其流出的分支中进一步完善后得到'我的贷款申请'的信用评分大于等于800 ,才能称其为一个可执行的条件表达式。

4)如何配置动作区

  • 编写操作语句:用户先用鼠标左键点击操作行,然后在表达式编辑区编写一行规则,完成后会有浮窗显示完整的规则。

image-20260331112241719

  • 添加操作语句:用户先用鼠标右键点击动作区,打开如下右键菜单项;可在弹出的菜单项中按需点击项,例如点击添加操作后会自动在动作区追加一行操作语句。

image-20260331112609027

  • 设置标题:在打开的右键菜单中点击设置标题,弹窗中输入新的规则操作区标题后确定即可。
  • 添加父条件:在打开的右键菜单中点击添加父条件,会自动在当前动作区上面生成一个决策节点。
  • 删除动作:在打开的右键菜单中点击删除动作,将删除当前动用区域和连线。

results matching ""

    No results matching ""