版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 颈椎病护理技术应用
- 特色旅行路线安全承诺书范文7篇
- 人力资源绩效评估工具帮助高效管理员工
- 2《写意山水》 2025-2026学年(桂美版2024)美术八年级下册
- 高校实验室安全管理标准操作流程手册
- 灾害防范救援响应承诺书6篇范文
- 酒店星级标准承诺书3篇范文
- 2026年消防安全演练总结五篇
- 2025-2026学年桂圆色彩教案
- 解剖学知识对护理操作的影响
- 尿毒症合并感染死亡病例讨论记录范文
- 学校生育保险管理制度(3篇)
- 2026年工业废水处理与回用项目可行性研究报告
- 电视现场报道课件
- 2026年河南应用技术职业学院单招职业适应性测试题库附答案详解
- 2025年高级水工监测工《理论知识》考试真题(含解析)
- 专题12.光学(原卷版)-高考物理二轮复习
- 陆上石油天然气开采安全培训课件
- 校服采购合同补充协议
- 氧气底吹熔炼-液态渣侧吹还原技术处理低铅高银精矿工艺介绍
- 2025中国西电集团及中国西电所属企业招聘笔试历年典型考点题库附带答案详解试卷2套
评论
0/150
提交评论