决策树分类器 决策树

当对新项目进行分类时,决策树需要做的工作是从树的根节点开始,对每个节点的判断条件进行检查--如果判断节点的条件满足,就走yes分支,否则就走no分支。这一过程会一直重复进行,直到达到代表预测分类的那个叶节点为止。
训练
决策树分类器 决策树
水果数据
直径 颜色 水果
4RedApple
4GreenApple
1RedCherry
1GreenGrape
5[]RedApple

为了创建树的根节点,有两个可能的变量可用于对数据进行拆分,它们分别是直径和颜色。第一步就是要对每个变量都进行尝试,从中找出拆分数据效果最好的一个。按照颜色拆分数据集得到的结果如下图
Red Green
AppleApple
CherryGrape
Apple

上述数据依然显得非常混乱。但是,假如我们按直径(小于4英寸、大于或等于4英寸)进行拆分,则拆分得到的结果会变得非常清晰(我们将左侧的数据成为Subset1,右侧的数据成为Subset2).此时的拆分情况如下图所示
直径<4英寸 直径≥4英寸
CherryApple
GrapeApple

这显然是一种更好的拆分结果,因为Subset2包含来自初始集合的所有“Apple”条目。尽管在本例中,哪个变量的拆分效果更好是明确的;但是当面对规模更大一些的数据集时,就不会总是有如此清晰的拆分结果了。为了衡量一个拆分的优劣。引入了一个熵的概念(代表一个集合中无序的程序):集合中的熵偏小,就意味着该集合中的大部分元素都是同质的;而熵等于0,则代表集合中的所有元素都是同一类型的。在上图中Subset2(直径≥4)的熵即为0.每个集合中的熵都是用来计算信息增益的,信息增益定义如下:因此对于每一种可能的拆分,我们都会计算出相应的信息增益,并以此来确定拆分用的变量。一旦用以拆分的变量被选定,第一个节点就创建出来了。 diameter ≥4min ? yes noCherry(1,Red) AppleGrape(1,Green)
因此,我们将判断条件显示在了节点的位置,如果数据不满足判断条件,就会沿着no分支向下走,如果满足,则会沿着yes分支向下走。因为yes分支现在仅有一种可能的结果,因此它就成了叶节点。no分支依然显得有些混乱,因此可以采用与选择跟节点时完全相同的办法对其做进一步的拆分。在本例中,颜色现在成了拆分数据的最佳变量。这一过程会一直重下去,直到在某个分支上拆分数据时不会再有信息增益为止。
决策树分类器使用说明
决策树算法的实现是基于一个列表的列表进行训练的,每个内部列表都包含了一组值,其中的最后一个值代表分类。我们可以按如下所示的方法来创建前面那个简单的水果数据集。fruit =[[4,'red','apple'],[4,'green','apple'],[1,'red','cherry'],[1,'green','grape'],[5,'red','apple']]
现在我们可以对这颗决策树进行训练,并利用它对新的样本进行分类:importtreepredicttree =treepredict.buildtree(fruit)treepredict.classify([2,'red'],tree){'cherry':1}treepredict.classify([5,'red'],tree){'apple':3}treepredict.classify([1,'green'],tree){'grape':1}treepredict.classify([120,'red'],tree){'apple':3}
很显然,直径10英寸并且颜色为紫色的水果不应该是苹果,但决策树受制于其所见过的样本,最后我们可以将树打印或绘制出来,以理解其决策的推导过程:treepredict.printtree(tree)0:4?T->{'apple':3}F->1:green? T-> {'grape':1} F-> {'cherry':1}
优点和缺点
决策树最为显著的优点在于,利用它来解释一个受训模型是非常容易的,而且算法将最为重要的判断因素都很好地安排在了靠近树根部位置。这意味着,决策树不仅对分类很有价值,而且对决策过程的解释也很有帮助。像贝叶斯分类器一样,可以通过观察内部结构来理解它的工作方式,同时这也有助于在分类过程之外进一步作出其他的决策。
因为决策树要寻找能够使信息增益达到最大化的分界线,因此它也可以接受数值型数据作为输入。能够同时处理分类数据和数值数据,对于许多问题的处理都是很有帮助的--这些问题往往是传统的统计方法(比如回归)所难以应对的。另一方面,决策树并不擅长于对数值结果进行预测。一颗回归树可以将数据拆分成一系列具有最小方差的均值,但是如果数据非常复杂,则树就会变得非常庞大,以至于我们无法借此来作出准确的决策。
与贝叶斯决策树相比,决策树的主要优点是它能够很容易地处理变量之间的相互影响。一个用决策树构建的垃圾邮件过滤器可以很容易的判断出:"onlie" 和 "pharmacy" 在分开时并不代表垃圾信息,担当它们组合在一起时则为垃圾信息。






  

爱华网本文地址 » http://www.413yy.cn/a/25101015/280098.html

更多阅读

GBDTMART 迭代决策树入门教程|简介 mart gbdt

在网上看到一篇对从代码层面理解gbdt比较好的文章,转载记录一下: GBDT(GradientBoostingDecisionTree)又叫MART(MultipleAdditiveRegressionTree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它

最近看过的文,分类 最近邻分类器

【那些年,我们一起爱过的红文】《潇然梦》小佚《绾青丝》波波《且试天下》倾泠月《红颜乱》朵朵舞《帝王业》寐语者《步步惊心》桐华《独步天下》李歆《木槿花西月锦绣》海飘雪《歌尽桃花》靡宝《此心无垠》无非由《三救姻缘》笑声《

分类器评价参数之混淆矩阵 分类器评价

在机器学习中,常常需要对学习算法性能进行评估,自然需要建立一些评估准则。参考http://www2.cs.uregina.ca/~dbd/cs831/notes/confusion_matrix/confusion_matrix.html中的描述,一个比较简单的描述是混淆矩阵(confusionmatrix)。它是这

支持向量机及其应用 支持向量机建模及应用

一、数据挖掘分类技术数据挖掘是机器学习、数据库和统计学三者相结合的产物。数据挖掘首先要确定挖掘的任务或目的,确定了挖掘任务后,就要决定使用什么样的挖掘算法,选择了算法后就可以实施数据挖掘操作,获取有用的模式。分类作为数据挖

声明:《决策树分类器 决策树》为网友寄痴心分享!如侵犯到您的合法权益请联系我们删除