如何用matlab实现决策树多叉树
发布网友
发布时间:2022-04-26 10:14
我来回答
共1个回答
热心网友
时间:2022-04-23 08:43
决策树是数学、计算机科学与管理学中经常使用的工具.
决策论中 (如风险管理),决策树(Decision tree)由一个决策图和可能的结果(包括资源成本和风险)组成,用来创建到达目标的规划.决策树建立并用来辅助决策,是一种特殊的树结构.决策树是一个利用像树一样的图形或决策模型的决策支持工具,包括随机事件结果,资源代价和实用性.它是一个算法显示的方法.决策树经常在运筹学中使用,特别是在决策分析中,它帮助确定一个能最可能达到目标的策略.如果在实际中,决策不得不在没有完备知识的情况下被在线采用,一个决策树应该平行概率模型作为最佳的选择模型或在线选择模型算法.决策树的另一个使用是作为计算条件概率的描述性手段.
决策树提供了一种展示类似在什么条件下会得到什么值这类规则的方法.比如,在贷款申请中,要对申请的风险大小做出判断,图是为了解决这个问题而建立的一棵决策树,从中我们可以看到决策树的基本组成部分:决策节点、分支和叶子.
决策树中最上面的节点称为根节点,是整个决策树的开始.本例中根节点是“收入>¥40,000”,对此问题的不同回答产生了“是”和“否”两个分支.
决策树的每个节点子节点的个数与决策树在用的算法有关.如CART算法得到的决策树每个节点有两个分支,这种树称为二叉树.允许节点含有多于两个子节点的树称为多叉树.决策树的内部节点(非树叶节点)表示在一个属性上的测试.
每个分支要么是一个新的决策节点,要么是树的结尾,称为叶子.在沿着决策树从上到下遍历的过程中,在每个节点都会遇到一个问题,对每个节点上问题的不同回答导致不同的分支,最后会到达一个叶子节点.这个过程就是利用决策树进行分类的过程,利用几个变量(每个变量对应一个问题)来判断所属的类别(最后每个叶子会对应一个类别).
例如,
假如负责借贷的银行*利用上面这棵决策树来决定支持哪些贷款和拒绝哪些贷款,那么他就可以用贷款申请表来运行这棵决策树,用决策树来判断风险的大小.“年收入>¥40,00”和“高负债”的用户被认为是“高风险”,同时“收入5年”的申请,则被认为“低风险”而建议贷款给他/她.
数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测(就像上面的银行*用他来预测贷款风险).常用的算法有CHAID、 CART、ID3、C4.5、 Quest 和C5.0.
建立决策树的过程,即树的生长过程是不断的把数据进行切分的过程,每次切分对应一个问题,也对应着一个节点.对每个切分都要求分成的组之间的“差异”最大.
对决策树算法的研究开发主要以国外为主,现有的涉及决策树算法的软件有SEE5、Weka、spss等,在国内也有不少人开展了对决策树算法的构建及应用研究,如中国测绘科学研究院在原有C5.0算法的基础上进行了算法重构,将其用于地表覆盖遥感影像分类中.