决策树算法伪代码

来源:互联网 发布:淘宝交易快照在哪里 编辑:程序博客网 时间:2024/05/18 12:38

决策树算法伪代码



训练样本集D={(x1,y1),(x2,y2)……(xn,yn)}

属性集A={a1,a2,……,an}



TreeGenerate(D,A):

      生成节点node

if D中样本全属于同一类别C:

      将node标记为C类叶节点

      return

end if

if 属性集A为空或者D的所有属性值均一样:

      将node标记为最多类

      return

end if

      从A中选取最佳划分属性a*

for a in a*:

      为node生成一个分支,令Dv表示D中在a*属性值为a的样本子集

      if Dv为空:

            continue;

      else:

            TreeGenerate(Dv,A\{a*})递归继续

      end if

end for




这个伪代码摘自周志华《机器学习》

关于代码终止条件:

1.  D中样本全部属于同一类,显而易见,这个时候无法继续进行分类

2.  属性集A为空,问号脸?这个时候还会有样本没被分类吗?(除非样本属性有缺失)

3.  D中样本在A中取值相同,无法分类

原创粉丝点击