Apriori 算法即使对于少量数据也能显示大量结果

Posted

技术标签:

【中文标题】Apriori 算法即使对于少量数据也能显示大量结果【英文标题】:Apriori Algorithm shows lots of result even for small amount of data 【发布时间】:2018-04-04 17:24:53 【问题描述】:

我正在尝试比预期时间更长的先验算法,这是代码。

import pandas as pd
dataset = pd.read_csv("data.csv", header=None)
transactions = []

for i in range(0, 10):
    temp = []
    for j in range(0, 20):
        temp.append(str(dataset.values[i,j]))
    transactions.append(temp)
  
from apyori import apriori
associations = apriori(transactions, min_support=0.03, min_confidence=0.7, min_lift=3, min_length=2)

result = list(associations)

在创建 apriori 对象之前它工作正常。但是,当我尝试运行最后一行(转换为列表)时,会花费大量时间。

正如你在上面看到的,我只输入了 10 笔交易,但它输出了超过一百万条规则,所以我在代码中找不到错误。请帮我找出问题。

下图显示了我在 anaconda spyder ide 中的变量值。

谢谢.....

【问题讨论】:

欢迎来到 ***。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您描述的问题。请将您的数据框硬编码到发布的程序中。我们当然不会手动输入您的 CSV 文件。 :-) 【参考方案1】:

min_support 更改为min_support=0.003min_confidence 更改为min_confidence=0.2

如果问题没有解决,请查看apriori.py

【讨论】:

以上是关于Apriori 算法即使对于少量数据也能显示大量结果的主要内容,如果未能解决你的问题,请参考以下文章

Apriori算法原理总结

Apriori算法原理总结

即使在离散化值之后,Apriori 中的开始按钮也被禁用

机器学习实战精读--------Apriori算法

Apriori算法思想和其python实现

Apriori算法的超市数据集