![FP-Growth 模式发掘原理与spark实践_第1页](http://file4.renrendoc.com/view10/M02/0B/33/wKhkGWVrrBSAO_leAACjmVLEAok472.jpg)
![FP-Growth 模式发掘原理与spark实践_第2页](http://file4.renrendoc.com/view10/M02/0B/33/wKhkGWVrrBSAO_leAACjmVLEAok4722.jpg)
![FP-Growth 模式发掘原理与spark实践_第3页](http://file4.renrendoc.com/view10/M02/0B/33/wKhkGWVrrBSAO_leAACjmVLEAok4723.jpg)
![FP-Growth 模式发掘原理与spark实践_第4页](http://file4.renrendoc.com/view10/M02/0B/33/wKhkGWVrrBSAO_leAACjmVLEAok4724.jpg)
![FP-Growth 模式发掘原理与spark实践_第5页](http://file4.renrendoc.com/view10/M02/0B/33/wKhkGWVrrBSAO_leAACjmVLEAok4725.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FP-Growth模式发掘原理与spark实践提纲FPGrowth算法原理FPGrowth推荐实例模式挖掘也叫关联规则,其实就是从大量的数据中挖掘出比较有用的数据,挖掘频繁项。比如说超市有大量的购物数据,从而可以根据用户的购物数据找到哪些商品关联性比较大。也可以进行用户推荐。关联规则算法发展到现在一共有三个算法:FP-Tree算法、Apriori算法、Eclat算法,其中FP-Tree是一种不产生候选模式而采用频繁模式增长的方法挖掘频繁模式的算法;此算法只扫描两次,第一次扫描数据是得到频繁项集,第二次扫描是利用支持度过滤掉非频繁项,同时生成FP树。然后后面的模式挖掘就是在这棵树上进行。此算法与Apriori算法最大不同的有两点:不产生候选集,只遍历两次数据,大大提升了效率。FPGrowth
简介FPGrowth处理流程数据整理清洗,清除异常数据,整理为购物篮形式关联规则:用于表示数据内隐含的关联性,一般用X表示先决条件,Y表示关联结果。支持度(Support):所有项集中{X,Y}出现的可能性。例如,1000个顾客中,200个买了面包,则面包的支持度=
200
/
1000
=
20%,如果同时买面包与豆浆的人有150,则规则{面包,豆浆}的支持度=
150
/
1000
=
15%置信度(Confidence):先决条件X发生的条件下,关联结果Y发生的概率。上面例子,
当一个买了面包的人,{面包,豆浆}
的置信度=
15%
/
20%
=
75%扫描数据,获取FP-Tree利用FP-Tree计算各个规则的支持度,置信度,并用于推荐商品提纲FPGrowth算法原理FPGrowth推荐实例FPGrowth推荐实例系统准备:centos6.8、Spark2.3.1、Pyrhon3.X,导入pyspark,pandas数据准备:使用Groceries购物篮数据,该数据集是某个杂货店一个月真实的交易记录,共有9835条消费记录,169个商品。建模目的:通过FPGrowth发掘关联规则,在给定支持度与置信度水平下,为客户推荐商铺。importpandasaspd
frompysparkimportSparkContext,SQLContext实例:启动spark,读取数据#构建spark连接,注意这里自定义spark序列化conf=SparkConf().setAppName("laboratory_spark_ml_NaiveBayes").setMaster('yran').set("spark.serializer","org.apache.spark.serializer.JavaSerializer")sc=SparkContext().getOrCreate()sqlContext=SQLContext(sc)#读取数据df_Groceries=sc.textFile(u”文件路径/Groceries.txt").map(
lambdax:str(x).split("&")).map(lambdax:[x[0],x[1].split(",")])
#本地数据转换为RDDdf_Groceries_rdd=sqlContext.createDataFrame(df_Groceries).toDF("index",
"items")实例:源数据展示#展示数据
df_Groceries_rdd.show(20,False)实例:模型训练#FPGrowth模型属于mllib模块,数据格式为RDD#模型训练frompyspark.mllib.fpmimportFPGrowth
#训练频繁集,参数minSupport(生成规则大于指定支持度的频繁集)#本例指定支持度>=0.04rdd=df_Groceries.map(lambdax:x[1])model=FPGrowth.train(rdd,
minSupport=0.04)
#获取结果,显示部分频繁集sorted(model.freqItemsets().collect())[0:2]实例:推荐前数据处理#产品推荐#获取商品组合支持度,并转换成字典freqItems=model.freqItemsets().map(lambdax:[set(x.items),x.freq]).collect()freqItems_df=pd.DataFrame(freqItems)freqItems_df.index=freqItems_df[0].map(lambdax:",".join(list(x)))freqItems_dict=freqItems_df[1].to_dict()
#计算所有频繁集置信度list_items=model.freqItemsets().collect()
实例:推荐函数以及推荐应用def
Confidence(x=[],min_conf=0.1):
re=set()
forzinfreqItems:
conf=0
Set_and=set(z[0])&set(x)
if((len(Set_and)>0)&(len(Set_and)<set(z[0]))):
if(len(freqItems_df[freqItems_df[0]==Set_and])>0):
Dfreq=freqItems_df[1][",".join(list(Set_and))]
conf=z[1]*1.0/Dfreq
if(conf>min_conf):
Set_to=z[0]-set(x)
if(len(Set_to)>0):
re=re|Set_to
return
",".join(list(re))#推荐,要求置信度>
0.1freqItems_conf=sqlContext.createDataFram
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024届广西来宾武宣县中考一模英语试题含答案
- 2024届广东省中学山市溪角初级中学中考四模英语试题含答案
- 2024届广东省广州市荔湾区中考英语对点突破模拟试卷含答案
- 2024届福建省厦门外国语校中考英语模拟试卷含答案
- 2024届福建省泉州市鲤城区北片区中考英语最后一模试卷含答案
- 水吧客服工作计划9篇
- 电气试验合同范本(合集7篇)
- 公司食堂员工工作计划(83篇)
- 大学英文作文经典句子189句
- 2024-2029年中国风电变流器行业供需趋势及投资风险研究报告
- 2024年《国有企业管理人员处分条例》合规解读
- 红领巾爱祖国2024年“六一”重要回信精神课件
- 国开《马克思主义基本原理》2024春+试卷A终考大作业答案
- 24春国家开放大学《建筑力学#》形考任务1-4参考答案
- 遗传与生活智慧树知到期末考试答案章节答案2024年哈尔滨师范大学
- MOOC 数学建模精讲-西南交通大学 中国大学慕课答案
- 第12课+自觉抵制犯罪(课时2)【中职专用】中职思想政治《职业道德与法治》高效课堂(高教版2023·基础模块)
- ICU患者腹泻和排便失禁
- 谈谈学习财务报表分析这门课程的心得体会6篇
- GA∕T 1047-2013 道路交通信息监测记录设备设置规范
- “真人大富翁”活动策划书
评论
0/150
提交评论