首页 > 其他分享 >使用mahout做海量数据关联规则挖掘

使用mahout做海量数据关联规则挖掘

时间:2023-06-06 13:32:54浏览次数:37  
标签:39 38 48 海量 32 关联 mahout 41


 

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)

这里输出的只是频繁项集,但在此基础上提取关联规则已经不是难事。


标签:39,38,48,海量,32,关联,mahout,41
From: https://blog.51cto.com/u_2650279/6424145

相关文章

  • 6.11 类关联结构
    classCar{privateStringname;privatedoubleprice;privatePersonperson;//车应该属于一个人publicCar(Stringname,doubleprice){this.name=name;this.price=price;}publicvoidsetPerson(Personperson){......
  • vue前端model和data强关联
    如果不关联会报错,且错误不好找!......
  • 网络支付海量数据存取处理的研究
    摘要:随着网络购物的普及,网上支付业务蓬勃发展,同时网络支付行为带来的海量数据处理也给网络支付平台带来了巨大挑战。本文从针对网络支付带来的海量数据带来的问题,通过改进和优化数据库配置、数据分割、数据分类、处理算法、数据访问、虚拟内存和文本格式处理等方面,对网络支付带来的......
  • mybatis 多表关联查询
    MyBatis多表关联查询一对多查询一对多关联查询是指,在查询一方对象的时候,同时将其所关联的多方对象也都查询出来。.Ⅰ、多表连接(联合)查询这种方式只用到1条SQL语句。.注意:即使字段名与属性名相同,在<resultMap></resultMap>中也要写出它们的映射关系。因为框架......
  • R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究
    肿瘤是近年来严重威胁人类的健康的疾病,据统计,目前大部分种类的肿瘤都呈现不同程度的上升趋势,中国因患肿瘤而死亡的人数约占全球肿瘤死亡总人数的1/4左右,人类正面临着肿瘤防治的新挑战。现代医学治疗肿瘤的手段和方式已经日臻完善,主要为手术配合放、化疗联合治疗。但传统西医治......
  • R语言APRIORI模型关联规则挖掘分析脑出血急性期用药规律最常配伍可视化|附代码数据
    最近我们被客户要求撰写关于关联规则的研究报告,包括一些图形和统计输出。本文帮助客户运用关联规则方法分析中医治疗脑出血方剂,用Apriori模型挖掘所选用的主要药物及其用药规律,为临床治疗脑出血提供参考脑出血急性期用药数据读取数据a_df3=read.xlsx("脑出血急性期用药最常配伍......
  • postman接口关联
    在使用postman做接口测试时,有时候后面的接口需要获取前面接口的某一个返回值做为请求参数,这时就可以使用关联。如从A接口提取出a字段的值,供B接口的b字段使用。一个接口的返回报文如下:{"retCode":"0","retMsg":"请求成功","rspData":{"status":"1",......
  • Qcon 广州主题演讲:融云实时社区的海量消息分发实践
    移步公众号预约纸质版《作战地图》5月26日-27日,QCon全球软件开发大会落地广州。移步【融云全球互联网通信云】回复【wicc】报名融云IM服务架构师罗伟受邀分享“实时社区的海量消息分发实践”,从实践中来的前沿技术分享,收获现场开发者的热烈响应和一致好评。后台回复“QCon”......
  • UnaBiz与纵行科技签署战略合作协议,为海量物联共建“融合的LPWAN全球网络”
    新加坡、法国、中国,2023年5月30日,UnaBiz和纵行科技签署了战略合作协议,致力于促进“融合的LPWAN全球网络”的发展以实现全球大规模物联网。根据协议,UnaBiz和纵行科技将充分利用各自的网络资源,其中ZETA网络覆盖中国,而UnaBiz的全球0G网络涵盖全球70多个国家,以便为客户提供在全球范围内......
  • Tinder多账号注册怎样防关联?
    Tinder是目前除了Facebook,用户数量较多的一款海外交友软件。它采用匹配的机制,双方只有互相表示感兴趣才能开始聊天。由于它的特殊机制,一上线就吸引了很多用户,有着很强的广告效应。因此,很多人把Tinder当作一个不错的宣传平台,进行广告投放。想要更好地进行营销推广,一个Tinder账号是远......