【软件工程】决策表和决策树

1.1决策表

1.1.1决策表的定义

决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。但不同于传统程序语言中的控制语句,决策表能将多个独立的条件和多个动作直接的联系清晰的表示出来。用表格的方式描述决策问题一种方法,这种表格也被称为决策矩阵。所谓决策表是指一个以行、列形式来描述和表示决策规则和知识信息的表,如果决策问题的后果是用损失的费用表示,这个表也被称为损失矩阵。

1.1.2决策表的结构

决策表一般分为4个部分。 每个条件对应一个变量、关系或预测,“候选条件”就是它们所有可能的值;动作指要执行的过程或操作;动作入口指根据该入口所对应的候选条件集,是否或按怎样的顺序执行动作。 许多决策表在候选条件中使用“不关心”符号来化简决策表,尤其是当某一条件对应要执行的动作影响很小时。有时,所有的条件在开始时都被认为是重要的,但最后却发现没有一个条件对执行的动作有影响,都是无关的条件。

在这4个部分的基础上,决策表根据候选条件和动作入口的表现方法的变化而变化。有些决策表使用true/false作为候选条件值(类似与if-then-else),有些使用数字(类似于switch-case),有些甚至使用模糊值或概率值。对应动作入口,可以简单的表示为动作是否执行(检查动作执行),或更高级些,罗列出要执行的动作(为执行的动作排序)。

1.1.3决策表的优点

决策表能罗列出所有的可能情况,并清晰的指出相应的处理方式,用户不需要考虑其中的逻辑关系就能一眼看出其中什么样的动作对应什么样的情况,这比程序语言中层层嵌套的逻辑语句要强多了。而所有可能情况的平面罗列,也能避免在程序语言编写中,因为逻辑上的层层嵌套而产生遗漏,尤其在if-then-else结构中else部分是可选的情况下。

因为逻辑控制在编程中的重要地位,决策表成为设计逻辑控制时十分重要的一个工具。

1.1.4决策表的例子

133114b731350baa34b183beb17592ee2c5a6dfb.png@722w_258h_progressive.webp

 

2.1决策树

2.1.1决策树的定义

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。

决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。

分类树(决策树)是一种十分常用的分类方法。它是一种监督学习,所谓监督学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。

2.1.2决策树的结构

□——决策点,是对几种可能方案的选择,即最后选择的最佳方案。如果决策属于多级决策,则决策树的中间可以有多个决策点,以决策树根部的决策点为最终决策方案。

○——状态节点,代表备选方案的经济效果(期望值),通过各状态节点的经济效果的对比,按照一定的决策标准就可以选出最佳方案。由状态节点引出的分支称为概率枝,概率枝的数目表示可能出现的自然状态数目每个分枝上要注明该状态出现的概率。

△——结果节点,将每个方案在各种自然状态下取得的损益值标注于结果节点的右端。

2.1.3决策树的优点

决策树易于理解和实现,人们在在学习过程中不需要使用者了解很多的背景知识,这同时是它的能够直接体现数据的特点,只要通过解释后都有能力去理解决策树所表达的意义。

对于决策树,数据的准备往往是简单或者是不必要的,而且能够同时处理数据型和常规型属性,在相对短的时间内能够对大型数据源做出可行且效果良好的结果。

易于通过静态测试来对模型进行评测,可以测定模型可信度;如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。

决策树(decision tree)也是用来表达加工逻辑的一种工具,有时侯它比决策表更直观。

2.1.4决策树的缺点

对连续性的字段比较难预测。

对有时间顺序的数据,需要很多预处理的工作。

当类别太多时,错误可能就会增加的比较快。

一般的算法分类的时候,只是根据一个字段来分类。

2.1.5决策树的例子

检查订货单的决策树 

 

3aa8ab93ddfd55cf97a28e096c96835ce8532e9f.png@722w_220h_progressive.webp

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值