1. 数据分析挖掘
在信息时代,公司和个人的成功越来越依赖于迅速有效地将大量数据转化为可操作的信息。而信息时代的机器学习应用场景,如每天处理数以千计的个人电子邮件信息,从海量博客中推测用户的意图等,的输入数据通常都非常庞大,以至于无法在一台计算机上完全处理,即使这台计算机非常强大,如果没有快速并行处理的实现手段,这将是一项无法完成的任务,因此分布式数据分析挖掘系统逐渐成为了主流方向。
目前的主流的分布式数据分析挖掘系统有Mahout、MLlib和Petuum,下面将对其进行简单介绍。
系统评测主要分为两部分进行。定性分析系统特性,根据系统算法质量、数据预处理工作支持程度、运行条件、系统模型参数设置、系统模型可理解性等指标评测系统。定量分析系统性能,根据系统模型运行所需时间和空间、系统实现算法数目、系统能完成的数据挖掘任务数量、支持的数据源类型数量、支持的输出对象格式数量等指标评测系统。
1.1 研究目标与内容
本部分的研究需要明确如下目标:
l 调研确定主流开源系统和评测方法
l 安装部署这些主流开源系统并进行评测,确定最佳系统
l 针对最佳系统建立培训体系和教材
1.2 主流分布式数据分析挖掘系统简介
1.2.1 Mahout
Mahout是Apache Software Foundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用ApacheHadoop库,Mahout可以有效地扩展到集群中。
虽然Mahout项目在理论上可以实现所有类型的机器学习技术,但实际上当前其仅关注机器学习的三个主要领域,即推荐引擎(协同过滤)、聚类和分类。接下来简单介绍Mahout在此三个领域的具体实现。
Taste是Apache Mahout提供的一个协同过滤算法的高效实现,是一个基于Java实现的可扩展的,高效的推荐引擎。Taste既实现了最基本的基于用户的和基于内容的推荐算法,同时也提供了扩展接口,使用户可以方便的定义和实现自己的推荐算法。Taste不仅仅只适用于Java应用程序,