论文部分内容阅读
随着“信息爆炸”时代的来临,数据挖掘的应用日趋广泛。许多商业决策者利用数据挖掘技术从海量的数据中获取有用的信息,为以后企业更好的决策提供帮助。然而,传统的数据挖掘算法在面对海量数据的时候,由于各种原因,执行效率低下,已经不能满足人们日益增长的性能需求,需要寻找更加高效的算法或者执行策略。在银行以及相关金融行业,随着信用卡的风行和信贷业务的不断拓展,业务提供者需要了解客户的信用水平,降低业务的信用风险,以便更好的开展相关的业务。为了解决这一系列的问题,本论文选择分类算法进行分析,从数据存储方式和算法本身进行研究,指出它们在应用中存在的不足,并选择Sprint决策树分类算法作为具体的研究对象,对其进行改进和优化,并将改进后的算法应用到银行客户信用评估系统中进行分类规则的挖掘,具有一定的理论基础和实践意义。论文的主要工作有:(1)对几种典型分类算法(决策树算法,神经网络,贝叶斯网络以及遗传算法)的基本理论和实现原理进行了深入分析研究,通过分析总结前人的研究成果,给出了它们并行化的基本策略;(2)分析了目前数据挖掘实践中的主要特征:数据存储仍然以传统的关系数据库为主,需要处理海量数据以及挖掘主要以列操作为主。由这三个方面的特点分析得出:目前在挖掘过程中,行式存储和传统的串行算法已经不能满足人们对于挖掘效率的要求,需要更加高效的存储方式和执行策略加以代替;(3)在众多决策树算法中,选择Sprint算法作为具体的研究对象,指出在目前数据挖掘并行化实践中,存在两方面的问题:其一,是数据存储方式的不足;其二,是算法本身的局限性。通过对行存储和云存储模式的分析,提出将列式存储作为挖掘过程中训练样本集和属性列表的存储方式。同时,对Sprint算法在划分分裂属性列表和非分裂属性列表阶段提出改进,减少磁盘读写操作的时间,并给出了改进后Sprint算法的并行化策略;(4)在文章的最后,利用Java远程方法调用(Java RMI)机制并行的实现改进后的Sprint算法,应用在银行客户信用评估系统的分类挖掘模块中。然后,通过行式数据库和列式数据库性能的分析对比得出:训练样本集和属性列表以列的方式存储能够合理利用存储空间,提高查询效率。同时,在分类算法中,大部分的操作为列操作,采用列式存储,更加有利于挖掘过程的并行化,能够很好的解决人们目前面临的尴尬问题。另一方面通过将改进后的算法和原始算法做对比,可以得出:改进之后的算法,减少了访问磁盘所带来的I/O消耗,大大的减少了建树的时间,尤其在训练集巨大的时候,这种执行效率上的优势就会更加明显。因此,算法的改进是有效的。