spark关联规则挖掘
来源:互联网 发布:lol淘宝cdk是真的吗 编辑:程序博客网 时间:2024/06/10 19:29
使用spark进行关联规则挖掘:
1 首先数据全部处理为分类变量
2 使用spark mllib 中的FPGrowth挖掘关联规则
存在问题
1 数据需要处理成sparse格式,也有人称basket格式
2 版本原因会报错:
java.lang.IllegalArgumentException: Can not set final scala.collection.mutable.ListBuffer field org.apache.spark.mllib.fpm.FPTree$Summary.nodes to scala.collection.mutable.ArrayBufferSerialization trace:nodes (org.apache.spark.mllib.fpm.FPTree$Summary)
加上conf..set("spark.serializer", "org.apache.spark.serializer.JavaSerializer")即可
具体如下:
Logger.getLogger("org.apache.spark").setLevel(Level.WARN)Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)val conf = new SparkConf()conf.setAppName("ares_login_FPGrowth").set("spark.serializer", "org.apache.spark.serializer.JavaSerializer")val sc = new SparkContext(conf)val sqlContext = new SQLContext(sc)val data= sqlContext.read.parquet(dataPath)println("total num: " + data.count())val trainsactions: RDD[Array[String]] = data.rdd.map(row => { row.getString(1) + " " + row.getString(2) + " " + row.getString(3)) }).map(_.trim.split("\\s+"))val minSupp = 0.6val minConf = 0.8val partitions = 10val fpGrowth = new FPGrowth().setMinSupport(minSupp).setNumPartitions(partitions)val model = fpGrowth.run(trainsactions)println("frequent itemsets: ")model.freqItemsets.collect().foreach(itemset =>{ println(itemset.items.mkString("[",",","]") + " {" + itemset.freq + "}")})println("rules: ")model.generateAssociationRules(minConf).collect().foreach(rule => { println(rule.antecedent.mkString("[", ",", "]") + "=>" + rule.consequent.mkString("[", "," ,"]") + " {" + rule.confidence + "}")})println("num of rules: " + model.generateAssociationRules(minConf).collect().length)sc.stop()
阅读全文
0 0
- spark关联规则挖掘
- Spark购物篮分析:关联规则挖掘
- [数据挖掘]关联规则挖掘
- 数据挖掘--关联规则
- Weka --- 关联规则挖掘
- 关联规则挖掘
- 关联规则挖掘评述
- 关联规则挖掘
- 关联规则挖掘
- 关联规则挖掘 - 概述
- Weka --- 关联规则挖掘
- 关联规则挖掘
- 数据挖掘-关联规则
- 关联规则挖掘
- 关联规则挖掘
- 关联规则挖掘
- 关联规则挖掘
- 关联规则挖掘:基本概念
- 数据结构实验之栈与队列一:进制转换
- 关于Jquery weui
- Java泛型中E、T、K、V等的含义
- Hibernate:单项多对一双向多对一
- 洛谷P2312:解方程 (Hash+数学)
- spark关联规则挖掘
- django提交表单提示"You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SL
- 动态规划hard--639. Decode Ways II
- AndroidStudio怎样导入jar
- 一些简单的java,c程序
- [CDH--FAQ]--常见问答
- 使用拦截器实现权限控制
- vue学习记录(数据绑定、class,style绑定)
- Spring MVC Data Binding