【发布时间】:2013-01-29 11:42:57
【问题描述】:
我编写了数据挖掘先验算法,它适用于小型测试数据,但我无法在更大的数据集上运行它。
我正在尝试生成经常一起购买的物品的规则。
我的小测试数据是 5 笔交易和 10 种产品。
我的大测试数据是 1100 万笔交易和大约 2700 种产品。
问题:最小支持和过滤非频繁项。
假设我们对频率为 60% 或更高的项目感兴趣。
frequency = 0.60;
当我为具有 60% 频率的小数据集计算 Min-support 时,算法将删除所有购买次数少于 3 次的商品。 Min-support = numberOfTransactions * frequency;
但是当我尝试对大型数据集做同样的事情时,算法将在第一次迭代后过滤几乎所有项目集,只有几个项目能够满足这样的平面。
所以我开始不断降低那架飞机,运行算法多次。但甚至没有 5% 给出预期的结果。我不得不将频率百分比降低到 0.0005,以使其至少有 50% 参与第一次迭代。
您认为目前的情况是数据问题,因为它是人工生成的? (微软冒险作品版) 还是我的代码或最小支持计算问题?
也许您可以提供任何其他解决方案或更好的方法?
谢谢!
【问题讨论】:
标签: algorithm data-mining apriori