- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ID3分类及其剪枝算法研究.doc
ID3分类及其剪枝算法研究
摘 要:分类是数据挖掘的一个重要课题。分类的目的是建立一个分类模型,该模型能把数据库中的数据项映射到给定类别中的某一个利用该模型形成分类规则并预测未来数据趋势[1]。决策树归纳是经典的分类算法,构建决策树模型算法中最有影响力的方法是ID3算法。针对ID3算法缺点,使用预剪枝和后剪枝相结合的办法处理决策树中的过学习情况,可生成一个更简单、更精确的决策树。
关键词:ID3分类算法; 决策树; 剪枝算法
DOIDOI:10.11907/rjdk.162536
中图分类号:TP312
文献标识码:A文章编号:1672-7800(2016)012-0033-02
1 ID3分类算法
1.1 ID3算法原理
决策树归纳是经典的分类算法[1]。ID3算法是Quinlan提出的一个著名的决策树生成方法。决策树是指具有以下性质的树:每个内部节点都被标记一个属性,每个弧都被标记一个值,这个值对应于相应父节点属性;每个叶节点都被标记一个类[2]。ID3算法是一种基于信息熵的决策树算法,算法的核心是在生成决策树时使用信息增益作为训练样本集合的分裂度量标准,选择信息增益最大值的属性对训练样本划分,该属性使得划分样本分类所需的信息量最小。该方法可以减少训练样本的划分次数,并尽可能得到一棵简单的决策树来描述相关信息。
1.2 ID3算法缺点
(1)对噪声较为敏感,训练数据的轻微错误会导致不同结果,鲁棒性较差;算法结果随训练集记录个数的改变而不同,不便于渐行渐进学习。
(2)ID3算法只能处理离散属性的数据,对于连续属性数据,必须先进行离散化处理才能使用。如产品名称是一个离散性属性,适合用ID3算法处理,而产品价格是连续性属性,必须对产品价格进行离散化处理后才能使用。
(3) ID3算法不能处理属性为空的记录,而在实际业务数据中,又存在大量的空记录,如果仅仅有一个缺失值就单纯地删除整条记录的话,那么最终可能得到一个很小的训练集,同时这个训练集可能已经丢失了业务数据中所包含的一些重要信息,所以要对缺省属性进行处理才能使训练集适用于ID3算法。
(4)ID3算法在搜索过程中不进行回溯,每当选择了一个属性进行分类后,以后的处理过程就不会再考虑该属性了,这样算法很容易收敛到局部最优而不是全局最优。
(5)ID3算法对于较小的数据集很有效,当这些算法用于非常大的数据库挖掘时,算法效率成为瓶颈。
2 剪枝算法
决策树是分类和预测的强有力工具,而易于理解和表示规则是决策树的优势。在最终形成的决策树上,每个内部节点都被标记一个属性,每个弧都被标记一个值,这个值对应于相应父节点属性;每个叶节点都被标记一个类;每个分枝代表对该属性的测试输出。决策树的生成过程分为两个步骤:一是生成树,二是对树的剪枝,就是去掉一些可能是噪声或者是错误的数据[3]。
样本分为训练集和测试集,给定一个决策树A,如果在假设空间中存在另一个决策树B,使得A在训练集上的错误率比B小,但是在测试集上A的错误率差比B大,则称A为过度拟合训练数据。
导致这种过度拟合现象的发生原因是:①训练样本中存在随机错误或噪声,噪声会导致分类结果冲突,比如对某个实例的每个属性都有相同的属性值,但在训练集和测试集中却有着不同的分类结果;②当训练样本数据量比较小时,特别是当决策树中的某些分枝与客观事实不符合时,很可能出现巧合的规律性[4-5]。第①种情况适应于后剪枝方法,第②种情况适应于预剪枝方法。
(1)预剪枝:在生成决策树之前,通过一定规则较早地停止树的生长。由于预剪枝不必生成整棵决策树,且算法相对简单,效率较高,适合处理大规模数据问题。该方法能大大缩短决策树规则生成时间,但如果阈值设置不准确,会大大降低算法的精确度。预剪枝具体在什么时候停止决策树生长衍生出多种方法:最简单的方法是在决策树生长到某一固定高度时停止树的生长;如果某节点的实例个数与总样本的个数之比小于某个阈值就停止树的生长。
(2)后剪枝:允许决策树过度拟合数据,它由完全生长的树剪去分枝。通过删除节点分枝剪掉树节点。这种方法能保证结果具有较高的准确度,但代价是处理大规模数据分类集时会耗费较多时间。常用的后剪枝算法有REP方法、PEP方法和MEP方法等。后剪枝方法主要是通过不断修改子树使之成为叶节点[6]。
3 ID3改进算法实现
决策树生成后,从根到叶子结点可以创建一条IF-THEN形式规则,规则左边为规则前件,叶子节点的属性值为规则后件。分类规则的质量可以用准确率和覆盖率两个参数度量[7]。
(1)准确率:是指结点在测试集上正确预测的实例数与分配给该节点的实例总数之比,度量该节点能够正确预测
文档评论(0)