用于应用先验算法的事务中使用的项目数量是否有任何限制。
我有一个只有 20 条记录的数据集,但项目数增加到 900。当我在数据集上应用先验算法时,我遇到了内存问题。
谢谢
用于应用先验算法的事务中使用的项目数量是否有任何限制。
我有一个只有 20 条记录的数据集,但项目数增加到 900。当我在数据集上应用先验算法时,我遇到了内存问题。
谢谢
对项目的第一次计数可以修剪其中的一些。如果您只有 20 条记录,您可以简单地计算数据集中项目的出现次数,并修剪那些没有发生足够多的项目,因为它们的超集也不经常发生,并且它们根据其余项目制作项目集。
这个问题是关于Limitations on the number of items to use in apriori algorithm?空间和时间复杂度的,我会回答。
假设输入事务的数量为 N(=20),唯一元素的数量为 R(大约 900)。假设您的阈值计数非常小(这意味着很少有候选者被修剪),那么大小为 i 的候选者的时间和空间复杂度将为O(R^i). 因此,您会看到,如果修剪的候选者很少,空间(和时间)需求就会成倍增长。考虑到您只有 20 笔交易,乍一看似乎不直观。但瓶颈是候选人的数量随着项目的数量呈指数增长。