决策树是一种类似流程图的树机制,其中每个内部节点表示对一个属性的测试,每个部门定义测试的结果,叶子节点描述类或类分布。树中最高的节点是根节点。
算法- 根据给定的训练信息创建决策树。
Input - 训练样本,样本,由离散值属性描述;学生属性集,属性列表。
输出- 决策树。
创建节点N;
如果样本都属于同一类,则 C
将 N 作为标记为 C 类的叶节点返回
如果属性列表为空,则
将 N 作为叶节点返回,标记为样本中最常见的类。// 多数票
选择 test-attribute,attribute-list 中信息增益最高的属性。
用测试属性标记节点 N。
对于测试属性的每个已知值 ai // 划分样本。
从节点 N 为条件 test-attribute= a i 生成一个分支。
让 s i是样本中 test-attribute= a i的样本集。
如果 si 为空,则
它可以连接一个标记有样本中最常见类的叶子。
否则附加生成决策树返回的节点(si,attribute-list - test-attribute)
例如决策规则的自动产生被称为规则归纳或自动规则归纳。它可以在决策树的隐式设计中创建决策规则,也经常称为规则归纳,但经常选择术语树归纳或决策树归纳。
决策树归纳的基本算法是贪心算法。它用于以自上而下的递归分而治之的方式生成决策树。学习决策树的基本算法,是ID3的一种形式,一种著名的决策树归纳算法。
基本方法如下 -
树从定义训练样本的单个节点开始。
如果样本都是相似的类,则节点变成叶子并用该类标记。
该算法应用一种称为信息增益的基于熵的度量作为启发式方法,用于选择将样本划分为单个类的属性。该属性在节点上发展为“测试”或“决策”属性。在这种形式的算法中,所有属性都是分类的,即离散值的。连续值的属性应该被离散化。
对每个已知的测试属性值生成一个部门,并对样本进行适当的划分。
该算法使用类似的过程循环来为每次分离的样本形成决策树。因为某个属性已经出现在某个节点上,所以要求在该节点的某些后代中不进行处理。