【问题标题】:Spark fp growth is not giving multiple items in consequentSpark fp 增长不会导致多个项目
【发布时间】:2019-01-09 23:43:44
【问题描述】:

我正在使用 spark fp 增长算法。我已经给予了最小支持和信心,所以我应该得到所有组合

from pyspark.ml.fpm import FPGrowth

df = spark.createDataFrame([
    (0, [1, 2, 5]),
    (1, [1, 2, 3, 5]),
    (2, [1, 2])
], ["id", "items"])

fpGrowth = FPGrowth(itemsCol="items", minSupport=0.0, minConfidence=0.0)
model = fpGrowth.fit(df)

# Display generated association rules.
model.associationRules.show()

第一个问题总是我的结果只包含一个元素

[1] -> [5, 2] 应该是样本输出频率 1 为 3,频率 5,2 为 2,频率为 [5, 2, 1]|是 2. 所以这应该在规则中

【问题讨论】:

  • “问题总是我的结果只包含一个元素” - 这就是 FPGrowth 的工作原理。规则的形式为 1..N(前件)-> 1(后件)。
  • 你能给我任何这样说的文件吗?

标签: python-3.x apache-spark pyspark apache-spark-ml


【解决方案1】:

火花实现是这样的,它只会在结果中返回 1 个元素。 您可以在下面的链接中检查相同的内容。 https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/fpm/AssociationRules.scala

//the consequent contains always only one element
itemSupport.get(consequent.head))

这是来自 MLlib 包(ML 包使用 MLlib 实现)。

干杯,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2021-08-27
    • 1970-01-01
    相关资源
    最近更新 更多