论文部分内容阅读
分类算法是数据挖掘领域中很重要的数据处理方法,但传统分类算法都具有其自身的缺陷:ID3决策树构造简单,但它无法处理具有缺失属性值的数据集;C4.5决策树改善了ID3存在的问题,但它在构造算法的过程中需要多次扫描数据集,不适合处理大数据样本;朴素贝叶斯分类法理论基础牢固,但它对数据集进行了独立性假设,导致分类结果发生偏差等等。随着“大数据”时代的来临,数据集中的数据量日益膨胀,传统分类算法处理数据的效率急剧下降。对此,现有大量学者对传统分类方法进行改进来提高分类效率。主要可以分为改进算法本身缺陷与对传统算法进行并行化两个方向。本文先通过构造自适应贝叶斯决策树混合分类算法(Adaptive Bayes Decision Tree,简称A-BDT算法)来解决传统分类方法在对大数据集进行分类时遇到的问题,再将A-BDT算法与Hadoop云计算平台进行结合来提高算法运行效率。具体研究工作包括:(1)构造A-BDT算法:本文先对朴素贝叶斯算法进行改进,构造自适应贝叶斯算法(Adaptive Bayes,简称A-Bayes算法),通过对数据集的强关联性假设,在算法公式中引进修正因子,从而减少独立性假设对分类结果的负面影响。再将它与ID3决策树进行结合,构造A-BDT混合分类算法。其中A-Bayes算法完成数据集的预处理工作,补足数据集中属性值缺失的数据,然后使用ID3决策树对处理过后的数据集进行分类,从而改善两种分类算法各自的缺陷。实验结果表明,相对于其他传统分类算法,A-BDT算法具有较好的准确率、召回率,耗时也较短。(2)A-BDT算法的Hadoop并行化:面对具有海量数据的数据集,传统分类算法在串行环境下很难在短时间内给出分类结果,本文把A-BDT算法与Hadoop平台进行结合,利用MapReduce框架对数据预处理、数据集分类等过程分别进行任务分割,把原本串行环境下庞大的任务分成若干个小任务,分别交由若干个Map过程进行处理,处理结果通过若干个Reduce过程进行合并,从而大大提高分类效率。实验数据表明,在Hadoop平台下运行A-BDT算法能获得令人满意的加速比。