为什么FP-Growth返回不止一个结果?

时间:2019-01-10 11:02:29

标签: python python-3.x data-mining fpgrowth

我正在使用Orange3-Associate中的fpgrowth模块从文件中的事务中找到rules。我正在使用此脚本:

from orangecontrib.associate.fpgrowth import *

transactions = [[1, 2, 5],
                [2, 4],
                [2, 3],
                [1, 2, 4],
                [1, 3],
                [2, 3],
                [1, 3],
                [1, 2, 3, 5],
                [1, 2, 3]]

itemsets = dict(frequent_itemsets(transactions, .2))
rules = [(list(P), list(Q), supp, conf) for P, Q, supp, conf in association_rules(itemsets, .5)]

但是,当我print(rules)时,结果Q显示为2个或更多项目的列表。输出:

  

[3, 5], [1, 2], 1, 1.0

为什么会这样?随从不是应该只有一项吗?

1 个答案:

答案 0 :(得分:1)

不,结果并不仅限于单个项目。

如果您的所有交易都包含A,B,则规则emptyset -> A, B是期​​望的输出,指示“无论什么交易包含A和B”。