我正在使用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
为什么会这样?随从不是应该只有一项吗?
答案 0 :(得分:1)
不,结果并不仅限于单个项目。
如果您的所有交易都包含A,B,则规则emptyset -> A, B
是期望的输出,指示“无论什么交易包含A和B”。