机器学习基础(二)决策树2013-11-14 csdn博客 cuoqu决策树也是有监督机器学习方法。 电影《无耻混蛋》里有一幕游戏,在德军小酒馆里有几个人在玩20问题 游戏,游戏规则是一个设迷者在纸牌中抽出一个目标(可以是人,也可以是物),而猜谜者可以提问题,设迷 者只能回答是或者不是,在几个问题(最多二十个问题)之后,猜谜者通过逐步缩小范围就准确的找到了答案 。这就类似于决策树的工作原理。(图一)是一个判断邮件类别的工作方式,可以看出判别方法很简单,基本 都是阈值判断,关键是如何构建决策树,也就是如何训练一个决策树。

(图一)构建决策树的伪代码如下:Check if every item in the dataset is in the same class:If so return the class labelElsefind the best feature to split the datasplit the datasetcreate a branch nodefor each splitcall create Branch and add the result to the branch nodereturn branch node原则只有一个,尽量使 得每个节点的样本标签尽可能少,注意上面伪代码中一句说:find the best feature to split the data, 那么如何find thebest feature?一般有个准则就是尽量使得分支之后节点的类别纯一些,也就是分的准确一 些。如(图二)中所示,从海洋中捞取的5个动物,我们要判断他们是否是鱼,先用哪个特征?

( 图二)