Datawhale组队学习_Task03:详读西瓜书+南瓜书第4章
第4章 决策树
4.1 基本流程
#输入:训练集D={${(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}$};
#属性集A=${{a_1,a_2,...,a_d}}$.
#过程:函数TreeGeneratw(D,A)
1:生成结点node;
2:if D中样本全属于同一类别C then
3: 将node标记为C类叶结点;return
4:end if
5:if A=${\emptyset}$ OR D中样本在A上取值相同 then
6: 将node标记为叶结点,其类别标记为D中样本数最多的类;return
7:end if
8:从A中选择最优划分属性${a_*}$;
9:for ${a_*}$ 的每一个值${a_*^v}$ do
10: 为node生成一个分支;令D_v表示D中在a_*上取值为a_*^v的样本子集;
11: if D_v 为空 then
12: 将分支结点标记为叶结点,其类别标记为D中样本最多的类;return
13: else
14: 以TreeGenerate(D_v,A\{A_*})为分支结点
15: end if
16: end for
输出:以node为根结点的一棵决策树
决策树的本质就是整个分类过程的具体操作过程,如前置条件满足则进行后续判断,否则则或是输出分类结果,或是继续进行其他分类结果的过程判断。