我使用fpgrowth算法运行市场篮子分析,我观察到它默认只输出信心。我还想计算支持和电梯为每个规则,有一些自定义代码,可以用于此要求。我看到这个功能包含在2.4版本中,但是限制是我可以使用的spark版本是1.6。
我正在使用以下代码:
import org.apache.spark.mllib.fpm.FPGrowth
import org.apache.spark.rdd.RDD
import org.apache.spark.SparkConf
val data = sc.textFile("transaction.txt")
val transactions: RDD[Array[String]] = data.map(s => s.trim.split(' '))
val fpg = new FPGrowth().setMinSupport(0.001).setNumPartitions(10)
val model = fpg.run(transactions)
model.freqItemsets.collect().foreach{ itemset =>println(itemset.items.mkString("[", ",", "]") + ", " + itemset.freq)}
val minConfidence = 0.5
model.generateAssociationRules(minConfidence).collect().foreach{ rule println(rule.antecedent.mkString("[", ",", "]")+ " => " + rule.consequent .mkString("[", ",", "]")+ ", " + rule.confidence)}
暂无答案!
目前还没有任何答案,快来回答吧!