机器学习-西瓜书南瓜书第四章
Posted GoAl的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-西瓜书南瓜书第四章相关的知识,希望对你有一定的参考价值。
1.决策树基本流程
- 概念:基于树结构来进行决策,体现人类在面临决策问题时一种很自然的处理机制
- 具备条件:
- 每个非叶节点表示一个特征属性测试
- 每个分支代表这个特征属性在某个值域上的输出
- 每个叶子节点存放一个类别
- 每个节点包含的样本集合通过属性测试被划分到子节点中,根节点包含样本全集
- 基本算法:
输入: 训练集D=\\{(x_1,y_1),(x_2,y_2),\\cdot, (x_m,y_m)\\}D={(x1,y1),(x2,y2),⋅,(xm,ym)};
属性集A={a_1,a_2,\\cdot,a_d}A=a1,a2,⋅,ad
过程: 函数TreeGenerate(DD,AA)
(1) 生成结点node
(2) if DD中样本全属于同一类别CC then
(3) 将node标记为CC类叶节点; return
(4) end if
(5) if A=\\emptysetA=∅ OR DD中样本在AA上取值相同 then
(6) 将node标记为叶结点,其类别标记为DD中样本数最多的类;return
(7) end if
(8) 从AA中选择最优化分属性a_*a∗;
(9) for a_*a∗的每一个值a_*^va∗v do
(10) 为node生成一个分支;令D_vDv表示DD中在a_*a∗上取值为a_*^va∗v的样本子集;
(11) if D_vDv为空 then
(12) 将分支结点标记为叶结点,其类别标记为DD中样本最多的类; return
(13) else
(14) 以TreeGenerate(D_vDv, A \\backslash \\{ a_* \\}A\\{a∗})为分支结点
(15) end if
(16) end for
输出: 以node为根结点的一棵决策树 - 决策树构造
- 当前结点包含的样本全部属于同一类,直接将该结点标记为叶结点,其类别设置该类
- 当属性集为空,或所有样本在所有属性上取值相同,无法进行划分,将该结点标记为叶结点,其类别设置为其父结点所含样本最多的类别
- 当前结点包含的样本集合为空,不能划分,将该结点标记为叶结点,其类别设置为其父结点所含样本最多的类别
以上是关于机器学习-西瓜书南瓜书第四章的主要内容,如果未能解决你的问题,请参考以下文章