论文部分内容阅读
现如今,由于信息技术和互联网的快速发展,每天有数十亿的用户在使用互联网,用户的各种操作和行为,同时会产生大量的信息数据。据统计,每年全球数据总量的增长是以ZB(1ZB=10^21byte)为单位的,而近90%的数据是这几年才产生的。预计到2020年,全球的数据总量将达到40ZB。数据量的激增使人们从“信息匮乏”的时代,进入到了“信息过载”的时代。人们希望能够将这些数据保存起来,并通过分析这些数据,提取它背后隐藏的模式和价值。这就带来了新的挑战与问题:1)大数据的存储问题;2)大数据的处理问题;3)数据挖掘方法的问题。Google、百度、阿里巴巴等这样的需要每天面对大量数据的互联网公司,都构建了云平台,在后台搭建分布式计算系统来保存和处理海量数据,利用数据挖掘技术来分析数据,优化自己的业务系统。不仅限于互联网行业,其他很多行业也都对大数据处理和数据挖掘方面有很大的需求。如医院可以通过对病人的病例进行数据挖掘,得到更精准的诊断治疗;气象预测单位可以通过大数据处理,使天气预报更加准确;零售业可以通过对交易记录进行数据挖掘,优化自己的产品,吸引更多的顾客,从而提高自己的利润收益。基于上述背景,本论文将云计算与数据挖掘技术结合起来,设计构建了基于云计算的数据挖掘平台。该平台的意义在于,基于云计算的模式下,由云平台提供海量数据挖掘和海量数据存储的能力,用户应用只需要通过访问云计算平台的接口来获取服务,这也使用户应用关注的重点放到自己的业务逻辑上面,减少了其他行业系统在数据挖掘方面的投入成本。平台系统的构成主要包括三层:1)基础能力支持层,本论文由于考虑到分布式系统对海量数据存储与处理的能力,使用了Hadoop分布式计算框架中的HDFS与MapReduce,构建基础支持层,提供数据存储和计算的能力支持。2)服务中间层,将数据挖掘算法和对数据的操作进行封装,由于对接口要求的简单、高效、一致的特性,本论文使用了REST设计规范来设计接口,上层应用提供服务。3)用户应用层,数据挖掘平台以服务的形式,对外提供数据挖掘和大数据存储的能力,用户应用通过调用服务层的接口,就可以获得这种服务。由于基于数据挖掘的推荐系统在工业界应用广泛,所以本文以协同过滤推荐算法作为数据挖掘平台的算法实例,进行了研究。并提出了引入基于项目流行度的权重因子的思想,削弱流行项目对计算相似度的影响,从而提高推荐系统的个性化程度,对协同过滤算法进行改良,本论文使用PHP实现了一个用户应用层的原型系统,并以MovieLens提供的数据集作为实验数据集,在云计算数据挖掘平台上,对协同过滤算法进行了实验,使用查准率、查全率、覆盖率、流行性分别对传统算法与引入项目流行度降权的改良算法进行了测评,根据实验数据得出改良算法在提升推荐系统个性化程度和发掘物品长尾能力上优于传统协同过滤算法的结论。