概述
决策树是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。决策树是一种类似于流程图的树结构。其中,每个内部节点(非树叶结点)表示在一个属性上的测试,每个分枝代表该测试的一个输出,而每个树叶结点(或终端结点)存放一个类标号。树的最顶层结点是根结点。下图是一个典型的决策树:
上述决策树表述了用户购买电脑的决策过程。涉及到的属性包括age(代表用户的年龄段)、student(代表是否是学生用户)和credit_rating(用户的信用度)。在进行决策时,首先对age属性进行判断,如果用户的年龄段属于middle_aged,则用户就会购买电脑;如果用户的年龄段属于youth,则需要再对student属性进行判断;如果用户的年龄段属于senior,则需要对credit_rating属性进行判断。以上只是完成了在age属性上的决策,如果决策路线未到达树叶结点,需要根据用户的属性信息,不断进行属性决策,直到到达树叶结点,从而得到目标决策。
决策树生成
决策树算法涉及三个参数:数据分区(D)、属性列表(attribute_list)、属性选择函数(attribute_selection_method)。
算法:Generate_decision_tree。由数据分区D中的训练元组产生决策树。
输入: - 数据分区D,训练元组和它们对应类标号的集合。 -attribute_list,候选属性的集合。 -Attribute_selection_method,一个确定“最好地”划分数据元组为个体类的分裂准则的过程。这个准则由分裂属性(splitting_attribute)和分裂点或划分子集组成。