决策树的伪代码如下(分而治之算法):
输入:
训练集D
={(x1
,y1)
,(x2
,y2
),.....,(xm
,ym
)};
属性集A
={a1,a2
,.....ad
}.
过程:函数treeGenerate
(D
,A
)
1.生成节点Node;
2.if D中样本全属于同一类别C then
3. 将node标记为C类叶结点;
return
4. end
if
5. if A≠∅ OR D中样本在A上取值相同 then
6. 将node标记为叶结点,其类别标记为D中样本最多的类
;return
7. end
if
8. 从A中选择最优划分属性a
*;
9. for a
*的每一个值a
*V do
10. 为node生成一个分支,另Dv表示D在a
*上取值为a
*V的样本子集;
11. if Dv为空then
12. 将分支结点标记为叶结点,其类别标记为D中样本最多的类,
return
13. else
14. 以TreeGenerate
(Dv
,A\
{ak
})为分支结点
15. endif
16. end
for