[_数据挖掘_] 决策树

 

 分类是数据挖掘的一个非常重要的主题,现实中的很多问题都和分类密切相关。我们日常正是因为有了分类技巧,才能对不同的事物、场景采取不同的应对方式。

 数据分类可以看做是一个两步的过程。第一步是学习过程,我们根据所需要分析的问题和数据建立一个分类器classifier。用我们选择好的训练元组对分类器进行训练,如果训练元组中已经包含了各样本的类标识号,也就是说知道了样本的类别,则称为监督学习,否则是无监督学习,也称为聚类。

 我们可以吧第一步看作是建立一个映射,y=f(x),x是样本,y则是输出的类标识号。这个映射可以使一系列的规则,一个数学函数,或者是决策树,亦或是难以解释的神经网络或其他。当然,决策树可以转化为规则,神经网络经过简化或也可以,这样可以给人呈现一种比较直观的方式。

 第二步就是分类,使用学习好了的分类器对位置类标识号的数据进行分类。那么如何才能评判分类器的好坏,也就是准确率呢?我们使用检验元组。检验元组是指从一般数据集(非训练数据集)中选取的,但是其类标识号已知。准确率accuracy是指正确分类占总检验元组的比重。

 在使用检验元组得到一个能接受的正确率之后,分类器就可以用在对未知数据的分类上了。

 训练集和检验集如何选取应该有一定的指导原则,因为训练集对分类器的准确率起到了非常重要的作用,这方面我还没有去找过。另外一个还需要花些时间,非常重要的问题就是特征子集的选择,也叫属性子集选择。

 

用决策树归纳分类

 决策树不需要任何参数的设置和领域知识(也许属性选择还是需要的),非常适合于探测式知识发现,并且可以处理高维数据(指的是属性非常多的数据),表达直观易懂,使用广泛。决策树是许多商业归纳系统的基础。

 决策树归纳的基本算法都采用的贪心算法,采用自顶向下递归的分治方式构造。算法最重要的是选择当下"最好"的splitting_criteria,如何评判最好的呢?书中介绍了好几种方法,基本上都要用到概率统计里面的知识,下次再总结吧。另外注意一点是如果允许多路划分并且是离散的,则splitting_criteria中的属性应该从当前的属性列表中去掉。

  我今天知识自己实现了collective intelligence中的例子,想着这几天实现数据完整的算法,包含对属性值是连续的是的处理。这个也下次在总结吧,今天太晚了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值