决策树(详细易懂,很多例子)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
No
Married 80K
?
10
NO
MarSt
Single, Divorced
Married
Assign Cheat to “No”
< 80K
TaxInc
NO > 80K
NO
YES
决策树原理
▪ 基本算法(贪心算法)
自上而下分而治之的方法 开始时,所有的数据都在根节点 属性都是离散值字段 (如果是连续的,将其离散化) 所有记录用所选属性递归的进行分割 属性的选择是基于一个启发式规则或者一个统计的度量 (如,
fm (x) : x j wm0
其中 wm0 是适当选择阈值。该决策节点将输入空间一份
为二:Lm x | x j wm0 和
,称为一个二元
划分。
决策树根据所选取的属性是数值型还是离散型,每次将 数据划分成两个或n个子集。然后使用对应的子集递归地 进行划分,直到不需要划分,此时,创建一个树叶节点标
记它。
决策树分类
1. 训练阶段
从给定的训练数据集DB,构造出一棵决策树 class = DecisionTree( DB )
2. 分类阶段
从根开始,按照决策树的分类属性逐层往下划分,直到 叶节点,获得概念(决策、分类)结果。
y = DecisionTree( x )
Example of a Decision Tree
Married 80K
?
10
NO
MarSt
Single, Divorced
Married
< 80K
TaxInc
NO > 80K
NO
YES
Apply Model to Test Data
Refund
Yes
No
Test Data
Refund Marital Taxable Status Income Cheat
information gain)
▪ 停止分割的条件
一个节点上的数据都是属于同一个类别 没有属性可以再用于对数据进行分割
算法:Generate_decision_tree由给定的训练数据产生一棵决策树 输入:训练数据集samples,用离散值属性表示;候选属性的集合attribute_list。 输出:一棵决策树 方法: (1)创建结点N; (2)if samples 都在同一个类C then (3)返回N作为叶结点,用类C标记; (4)if attribute_list 为空 then (5)返回N作为叶结点,标记samples中最普通的类;
决策树的结构
决策树算法以树状结构表示数据 分类的结果。每个决策点实现一个 具有离散输出的测试函数,记为分 支。
根节点 非叶子节点(决策点) 叶子节点 分支
决策树的结构
根部节点(root node) 非叶子节点(non-leaf node)
(代表测试的条件,对数据属性的测试)
分支(branches)(代表测试的结果)
叶节点(leaf node)
(代表分类后所获得的分类标记)
4
2020/11/10
单变量树
每个内部节点中的测试只使用一个输入维。如果使用 的输入维 是离散的,取n个可能的值之一,则该节点检 测 的值,并取相应的分支,实现一个n路划分。
决策点具有离散分支,而数值输入应当离散化。如果 是数值的(有序的),则测试函数是比较:
No
Married 80K
?
10
NO
MarSt
Single, Divorced
Married
< 80K
TaxInc
NO > 80K
NO
YES
Apply Model to Test Data
Refund
Yes
No
Test Data
Refund Marital Taxable Status Income Cheat
决策树 Decision Tree
简介
决策树算法是一种归纳分类算法,它通过对训练集的学 习,挖掘出有用的规则,用于对新集进行预测。
有监督的学习。 非参数学习算法。对每个输入使用由该区域的训练数 据计算得到的对应的局部模型。 决策树归纳的基本算法是贪心算法,自顶向下递归方 式构造决策树。 贪心算法:在每一步选择中都采取在当前状态下最好/优的选择。 在其生成过程中,分割方法即属性选择度量是关键。通 过属性选择度量,选择出最好的将样本分类的属性。
No
Married 80K
?
10
NO
MarSt
Single, Divorced
Married
< 80K
TaxInc
NO > 80K
NO
YES
Apply Model to Test Data
Refund
Yes
No
Test Data
Refund Marital Taxable Status Income Cheat
Another Example of Decision Tree
Apply Model to Test Data
Start from the root of tree.
ຫໍສະໝຸດ Baidu
Refund
Yes
No
Test Data
Refund Marital Taxable Status Income Cheat
No
No
Married 80K
?
10
NO
MarSt
Single, Divorced
Married
< 80K
TaxInc
NO > 80K
NO
YES
Apply Model to Test Data
Refund
Yes
No
Test Data
Refund Marital Taxable Status Income Cheat
//一个划分 (11)if si为空 then (12)加上一个叶结点,标记为标记samples中最普通的类;
//多数表决 (6)选择attribute_list中的最优分类属性test_attribute; //用信息增益作为属性选择度量 (7)标记结点N为test_attribute; (8)for each test_attribute中的已知值ai //划分samples (9)由结点N生长出一个条件为test_attribute=ai的分枝; (10)设si为samples中test_attribute=ai的样本集合;
No
Married 80K
?
10
NO
MarSt
Single, Divorced
Married
< 80K
TaxInc
NO > 80K
NO
YES
Apply Model to Test Data
Refund
Yes
No
Test Data
Refund Marital Taxable Status Income Cheat