基于分布式的决策树方法研究

基于分布式的决策树方法研究

论文摘要

在信息时代的今天,数据库中蕴含着大量有价值的信息和知识。这些信息和知识广泛适用于大量领域,包括商务管理、生产控制、市场分析、工程设计和科学探索等,可以为决策者做出正确的选择提供有效的支持。然而这些潜在的信息和知识隐藏在数据的海洋中,没有工具的帮助,人们很难甚至几乎不可能发现它们。因此数据挖掘越来越重要。至今,已经有多种数据挖掘的方法,其中决策树是一种重要的分类和预测手段,它既能处理离散型数据,也能处理连续型数据,并且易于理解。预测离散属性值的树模型叫做分类树,而预测连续属性值的树模型叫做回归树。决策树方法主要包括树的构建即归导和剪枝两个方面。其中,树的归导既是重点也是难点所在,本文主要关注树的归导和并行化方面的问题。经典的决策树算法要求将整个训练集放入内存,数据集增大时,算法便不能运行,可规模性极差,这使得它不能用于现实世界的数据库。SLIQ算法强调算法的可规模性,将数据集分成一个个属性表驻留磁盘,从一定程度上减少了内存的限制,但是它要求类表全部驻留内存。SPRINT算法继承了SLIQ的很多优点,并且取消了类表,完全消除了内存的限制。并且SPRINT为并行而设计,并行性能也很优秀。但SPRINT也有其不足,属性表占用过多空间,建立哈希表耗费不少的时间。雨林框架将算法的可扩展性与算法的其他部分分离开,将训练集压缩成小得多的AVC-Group,再次提高了可扩展性。树归导过程中最重要也最难的一步是节点分割,包括寻找最佳分割准则和根据此分割准则划分数据集。本文对树模型和树归导进行深入研究,对属性的候选分割谓词的选取作出了改进,大量减少了需要评估的分割谓词,从而节省了大量的计算时间。关于衡量分割质量的指标,对于分类树本文选择GINI指数,对于回归树选择计算方差的减少量。无论是GINI指数还是方差,目的都是要使分割前后数据集的不纯度的减少量达到最大。采用MapReduce编程框架来实现并行化的树归导。使用两个队列来存放待分割的节点,一个队列存放数据集过大不能放入内存的节点,另一个存放数据集能放入内存的节点。采用自顶向下的方法,宽度优先的策略,将新建立待分割的节点加入到两个不同的队列。每次尽可能多的从两个队列中取出节点,以使并行的MapReduce作业尽可能的多。使用一个模型文件来存放树的结构,包括节点、分割条件等。与通常的做法不同的是,不在各节点上存放属于它的数据集,而通过树模型来判定一个样本记录是否属于某个节点集。用一台控制器来管理归导的全过程和模型文件、节点队列的更新。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 课题背景及意义
  • 1.2 决策树方法研究现状
  • 1.3 作者所做工作
  • 1.4 本文组织结构
  • 第二章 决策树方法概述
  • 2.1 决策树的创建
  • 2.1.1 经典决策树算法ID3 和C4.5
  • 2.1.2 决策树算法的可规模性
  • 2.1.3 并行决策树算法
  • 2.2 决策树的剪枝
  • 2.2.1 基于MDL 的剪枝方法
  • 2.3 雨林算法框架
  • 2.3.1 雨林算法的一般过程
  • 2.3.2 RF-Write 算法
  • 2.3.3 RF-Read 算法
  • 2.3.4 RF-Hybrid 算法
  • 2.4 本章小结
  • 第三章 C&R 树归导算法研究与改进
  • 3.1 基本概念与定义
  • 3.1.1 树模型
  • 3.1.2 树模型学习
  • 3.1.3 回归树
  • 3.2 节点最佳分割谓词选择和评估
  • 3.2.1 分类树的连续属性的分割谓词
  • 3.2.2 分类树的离散属性的分割谓词
  • 3.2.3 回归树的离散属性的分割谓词
  • 3.2.4 回归树的连续属性的分割谓词
  • 3.3 算法流程
  • 3.4 本章小结
  • 第四章 并行可扩展决策树算法设计
  • 4.1 可扩展性的定义
  • 4.1.1 可扩展性的一般描述
  • 4.1.2 本文对可扩展性问题的要求
  • 4.2 Hadoop 分布式计算平台
  • 4.2.1 分布式文件系统HDFS
  • 4.2.2 MapReduce 并行编程框架
  • 4.3 并行树模型学习算法示例
  • 4.3.1 组件
  • 4.3.2 树模型归导过程
  • 4.4 并行树模型归导算法设计细节
  • SplitENodes'>4.4.1 MRSplitENodes
  • SplitINodes:驻留内存的树归导'>4.4.2 MRSplitINodes:驻留内存的树归导
  • 4.4.3 控制器设计
  • 4.5 本章小结
  • 第五章 实验
  • 5.1 实验环境与数据
  • 5.2 单机条件下的性能
  • 5.3 并行环境下的性能
  • 5.3.1 增加处理器数量对时间的影响
  • 5.3.2 并行算法的加速性能
  • 5.3.3 增加样本数量对性能的影响
  • 5.4 本章小结
  • 第六章 总结与展望
  • 6.1 本文总结
  • 6.2 展望
  • 致谢
  • 参考文献
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    基于分布式的决策树方法研究
    下载Doc文档

    猜你喜欢