了解 apyori 的输出

Understanding apyori's output

我很熟悉先验算法,support/confidence/lift的意思。

我目前正在使用 apyori 先验实现,但我不确定我是否理解 apyori.apriori() 调用的 输出

结果是这样的

> RelationRecord(items=frozenset({'item1', 'item2'}),
> support=0.15365410803449842,
> ordered_statistics=[OrderedStatistic(items_base=frozenset({'item1'}),
> items_add=frozenset({'item2'}), confidence=0.6203420891875382,
> lift=2.2233410344037092),
> OrderedStatistic(items_base=frozenset({'item2'}),
> items_add=frozenset({'item1'}), confidence=0.5507049891540131,
> lift=2.2233410344037097)])

规则是什么?有多个support/confidence/lift,每个代表什么?

我希望能对输出的每一部分进行字典式的解释

RelationRecord 反映了项目的子集,而ordered_statistics 是 OrderedStatistics 的列表,它反映了规则。每个 OrderedStatistics 的 items_base 是前提,items_add 是结果。支持存储在 RelationRecord 中,因为它对于包含的规则是相同的。

在你的例子中:

item1 -> item2,置信度为 0.62,提升率为 2.2233410344037092x

item2 -> item1 置信度为 0.55,提升率为 2.2233410344037097x

两者都有支持=0.15365410803449842。

对于它的价值,我最终转而使用 PyFIM 来获得相对丰富的特征和其他捆绑算法(例如 fp-growth)。