You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解读Apyori(Apriori算法)输出中长度大于2的关联规则?

Apyori库关联规则结果的解读问题

你用Apyori得到的输出如下:

Motif   Support  Confidence      Lift
0          [05M09T, 05M093]  0.066946    0.524590  1.628273
1  [05M091, 05M092, 05M093]  0.052301    0.581395  1.804591

第二行的核心问题在于:Apyori返回的结果里,单个频繁项集可能对应多条关联规则,你看到的置信度和提升度是其中某一条规则的指标,而非整个项集的通用指标。

关键说明

对于3项集[05M091, 05M092, 05M093],理论上可以生成6条不同的关联规则(所有非空真子集作为前件,补集作为后件),你提到的两种情况只是其中之二:

  • {05M091} → {05M092, 05M093}
  • {05M091, 05M092} → {05M093}

这两条规则的置信度、提升度确实不同,但Apyori默认输出如果只展示项集整体,会掩盖规则的拆分逻辑。

解决方法

要明确具体是哪条规则,需要遍历Apyori结果中的ordered_statistics属性,提取每条规则的前件(items_base)和后件(items_add),示例代码如下:

from apyori import apriori

# 假设你的数据集是dataset
results = apriori(dataset, min_support=0.05, min_confidence=0.5)

for result in results:
    # 遍历当前项集对应的所有关联规则
    for stat in result.ordered_statistics:
        antecedent = list(stat.items_base)
        consequent = list(stat.items_add)
        print(f"规则: {antecedent} → {consequent}")
        print(f"支持度: {result.support:.6f}, 置信度: {stat.confidence:.6f}, 提升度: {stat.lift:.6f}")
        print("---")

运行这段代码后,你就能清晰看到第二行对应的具体规则是哪一条,以及对应的指标计算依据。

内容的提问来源于stack exchange,提问作者Tryzis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:35:15