SparkMLlib

Spark Decision Tree

烂漫一生 提交于 2020-02-29 14:39:35
决策树归纳是从有类标号的训练元组中学习决策树。决策树是一种类似于流程图的树结构,其中,每个内部节点表示在一个属性上的测试,每个分支代表该测试的一个输出,而每个树叶节点存放一个类标号,最顶层节点是跟节点。 一:算法逻辑 D:数据 Attribute_list:元组属性列表 Attribute_selection_method:选择可以按类最好地区分给定元组的属性 树从单个节点N开始,N代表D中的训练元组 如果D中的元组都为同一类,则节点N变为树叶,并用该类标记他。 否则继续调用attribute_selection_method确定如果分裂。目的是使得每个分支上的输出分区都尽可能“纯”。 对分裂准则的每个输出,由节点N生长一个分支,D中的元组据此进行划分。假设A是分裂属性,根据训练数据,由三种可能的情况: (1) A是离散的:在这种情况下,节点N的测试输出直接对应与A的已知值。对A的每个已知值创建一个分支。 (2)A是连续的:有两个可能的输出,分别对应与条件A<=split,A>split (3) A是离散的且必须产生二叉树:子集作为分裂条件 对于D的每个结果分区上的元组,算法使用同样的递归形成决策树。 终止条件 (1)分区D的所有元组都属于同一个类 (2)没有剩余属性可以用来进一步划分元组,使用多数表决。 返回决策树 二: 属性选择度量 属性选择度量是一种选择分裂准则