mahout是一个基于hadoop的分布式数据挖掘开源项目(mahout本来是指一个骑在大象上的人)。掌握了关联规则的基本算法和使用,加上分布式关联规则挖掘后,就可以处理基本的关联规则挖掘工作了,实践中只需要把握业务,理解数据便可游刃有余。
安装mahout
骑在大象上的侠士必然需要一头雄纠纠的大象,不过本文不解绍大象hadoop,所以我假定已经安装好了hadoop,关于hadoop的安装,请google。
到Apache官网下载mahout8.0
解压
tar -zxvf mahout-distribution-0.8.tar.gz
移动
sudo mv tar mahout-distribution-0.8 /usr/local/mahout-8
配置
sudo gedit /etc/profile
输入以下内容:
export MAHOUT_HOME=/usr/local/mahout-8 export PATH=$MAHOUT_HOME/bin:$PATH export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$PATH
退出用户重新登录,使配置文件生效。输入mahout -version测试是否安装成功。
数据准备
到http://fimi.ua.ac.be/data/下载一个购物篮数据retail.dat。
上传到hadoop文件系统
hadoop fs -mkdir /user/hadoop/mahoutData #创建目录 hadoop fs -put ~/data/retail.dat /user/hadoop/mahoutData
调用FpGrowth算法
mahout fpg -i /user/hadoop/mahoutData/retail.dat -o patterns -method mapreduce -s 1000 -regex '[ ]'
-i表示input,-o表示-output,-s表示最小支持度,'[ ]'表示以行内的数据以空格分开。
一两分钟后执行完毕,生成的文件被序列化了,直接查看会是乱码,因此需要用mahout还原回来:
mahout seqdumper -i /user/hadoop/patterns/fpgrowth/part-r-00000 -o ~/data/patterns.txt
输出结果:
Key: 39: Value: ([39],50675) Key: 48: Value: ([48],42135), ([39, 48],29142) Key: 38: Value: ([38],15596), ([39, 38],10345), ([48, 38],7944), ([39, 48, 38],6102) Key: 32: Value: ([32],15167), ([39, 32],8455), ([48, 32],8034), ([39, 48, 32],5402), ([38, 32],2833), ([39, 38, 32],1840), ([48, 38, 32],1646), ([39, 48, 38, 32],1236) Key: 41: Value: ([41],14945), ([39, 41],11414), ([48, 41],9018), ([39, 48, 41],7366), ([38, 41],3897), ([32, 41],3196), ([39, 38, 41],3051), ([48, 38, 41],2374), ([39, 32, 41],2359), ([48, 32, 41],2063), ([39, 48, 38, 41],1991), ([39, 48, 32, 41],1646) Key: 65: Value: ([65],4472), ([39, 65],2787), ([48, 65],2529), ([39, 48, 65],1797) Key: 89: Value: ([89],3837), ([48, 89],2798), ([39, 89],2749), ([39, 48, 89],2125) Key: 225: Value: ([225],3257), ([39, 225],2351), ([48, 225],1736), ([39, 48, 225],1400)
这里输出的只是频繁项集,但在此基础上提取关联规则已经不是难事。
出处:www.cnblogs.com/fengfenggirl
相关推荐
总的来说,Mahout的PFPGrowth算法是一种强大的工具,适用于需要对大规模数据进行关联规则挖掘的场景,如电商、社交媒体分析等。通过合理配置参数和利用并行计算能力,PFPGrowth能够在处理海量数据的同时保持高效,为...
1. **数据挖掘基础**:首先,课程可能会介绍数据挖掘的基本概念,包括挖掘的目标、步骤和主要方法,如关联规则、序列模式、分类、回归和聚类。 2. **Mahout简介**:课程会讲解Mahout的起源、发展历程以及它在Apache...
在海量数据挖掘中,Hadoop与各种数据挖掘工具如Pig、Hive、Mahout等结合使用,可以实现更高效的数据分析。Pig提供了一种高级语言,简化了MapReduce程序的编写;Hive则提供了类似SQL的查询语言,使得非程序员也能方便...
Mahout 在这些项目中以其独特的定位脱颖而出——专注于大规模数据集的处理和分析,特别适合那些需要处理海量数据的应用场景。 #### 七、总结 Mahout 作为一款开源的机器学习库,凭借其强大的功能、灵活性以及与 ...
- **关联规则学习(Association Rule Learning)**: 用于发现数据集中的频繁项集和规则,如购物篮分析。 - **向量空间模型(Vector Space Models)**: 提供了TF-IDF(Term Frequency-Inverse Document Frequency)等...
- **关联规则学习(Association Rule Learning)**:寻找数据中的频繁项集和规则,例如市场篮子分析。 4. **优化与改进** Mahout 0.7在性能和稳定性上做了很多改进。比如,对某些算法进行了优化,减少了内存消耗...
4. **频繁项集挖掘**:通过Apriori、FP-Growth等算法发现数据集中频繁出现的项组合,常用于关联规则学习和市场篮子分析。 **三、Mahout与Hadoop的结合** Mahout充分利用了Hadoop的分布式计算能力,其大部分算法都是...
4. **频繁模式挖掘**:通过Apriori、FP-Growth等算法找出数据集中频繁出现的模式,可用于关联规则学习和购物篮分析。 5. **分布式计算**:Mahout利用Hadoop MapReduce框架实现分布式计算,能够处理PB级别的数据,...
数据挖掘是一种从海量数据中提取有价值信息的过程,它利用统计学、人工智能和机器学习等方法,揭示隐藏在数据背后的模式、关联和趋势。在IT领域,数据挖掘的应用广泛,包括市场预测、用户行为分析、风险评估等多个...
4.提出了一种基于节点动态性能推断的任务分配算法海量网络数据的处理分析是海量网络数据处理平台最为核心的功能,数据处理的效率关系到整个海量网络数据处理平台的性能,因此对于该平台数据处理性能的优化是本文需要...
在文件系统和数据库之上,使用了分布式计算框架MapReduce和Mahout数据挖掘包对数据集进行分类、聚类、关联规则等多种挖掘。管理员后台可以设定挖掘参数,前台用户界面则通过各种图表形式展示挖掘结果。 4. 结束语 ...
除了理论知识,MIT的课程往往注重实践,因此学生可以期待进行编程实验,使用R、Python或Java等语言实现数据挖掘算法,并利用开源工具(如Weka、Apache Mahout、Scikit-learn等)进行数据分析。这些实验将帮助学生...
2. 数据挖掘方法:主要分为三类:描述性挖掘(如聚类、关联规则)、预测性挖掘(如回归、时间序列分析)和预测性挖掘(如分类、回归)。例如,K-means算法用于无监督的聚类分析,寻找数据的自然群体;决策树算法如C...
Java数据挖掘是一个重要的领域,它将编程语言的力量与数据分析的深度结合在一起,为开发者提供了从海量数据中发现有价值信息的能力。在这个案例中,我们将探讨如何使用Java进行数据挖掘,以及这个过程中涉及的关键...
Apache Mahout是一个基于Apache Hadoop的数据挖掘库,专注于大规模机器学习算法的实现。它提供了丰富的算法,用于构建推荐系统、分类和聚类,是大数据领域中处理海量数据的理想工具。本篇文章将深入探讨《Mahout算法...
这本书详尽地阐述了如何利用Hadoop平台处理大规模数据,实现高效、可靠的分析任务,以及如何通过挖掘隐藏在海量数据中的有价值信息。 Hadoop是Apache软件基金会开发的一个开源框架,主要用于分布式存储和计算。其...
数据挖掘是一种从海量数据中提取出有用信息的过程,它结合了计算机科学、统计学和人工智能等多个领域的知识。在“数据挖掘--概念与技术”这本书中,作者深入浅出地介绍了这个领域的重要概念和技术,旨在为初学者提供...
Apriori算法是用于关联规则学习的经典算法,广泛应用于市场篮分析、交易数据分析等领域。PageRank算法是谷歌搜索算法的核心,用于网页排名。这些算法的并行化实现,有效地缩短了大数据环境下的挖掘时间,提高了算法...
数据挖掘技术通常包括多种方法,如关联规则学习、聚类分析、分类、序列模式挖掘和异常检测等。这些方法用于描述数据中的模式,通过规则建立,可以进行分类预测或时间序列预测。例如,在电信领域,数据挖掘可能用于...
无监督学习则在没有标记数据的情况下发现数据的内在结构,常见的方法有聚类、关联规则学习和主成分分析。半监督学习和强化学习则介于两者之间,分别在少量标记数据和交互环境中进行学习。 数据挖掘的应用广泛,包括...