Text 文本的Apriori算法

Text 文本的Apriori算法,text,apriori,Text,Apriori,我参加了一门数据挖掘课程,我们必须对包含文本(即字符串)的数据集运行apriori算法 ['acornSquash', 'cottageCheese', 'laundryDetergent', 'oatmeal', 'onions', 'pizza', 'tomatoes', 'yogurt'] ['bread', 'cinnamon', 'grapefruit', 'juiceBoxes', 'mayo', 'pastaSauce', 'pepper', 'waterBottles', 'yo

我参加了一门数据挖掘课程,我们必须对包含文本(即字符串)的数据集运行
apriori算法

['acornSquash', 'cottageCheese', 'laundryDetergent', 'oatmeal', 'onions', 'pizza', 'tomatoes', 'yogurt']
['bread', 'cinnamon', 'grapefruit', 'juiceBoxes', 'mayo', 'pastaSauce', 'pepper', 'waterBottles', 'yogurt']
我可以得到运行apriori算法的代码或帮助吗


下面的链接包含基本apriori实现的源代码

浏览自述文件

通过基本实现,我的意思是说,它没有实现任何有效的算法,如基于散列的技术、分区技术、采样、事务缩减或动态项集计数

这段代码每次都扫描整个数据集,但它的内存效率很高,因为它总是从文件中读取输入,而不是存储在内存中

由于您目前正在学习这门课程,我假设这段代码将是您第一次希望自己编写的代码

要了解更多关于apriori算法的信息,我建议您阅读

阅读、理解并尝试自己实施

现在,让我们谈谈如何实施。 当您浏览我发布的链接中的代码时,它在数字上实现,即,它的输入文件包含itemset作为数字而不是文本(如您的情况)

您只需编写一个程序,将每个文本映射到特定的数字即可

例如

假设您的数据集包含

[ 'oatmeal', 'onions', 'pizza', 'tomatoes', 'yogurt']
[ 'tomatoes', 'pepper', 'waterBottles', 'yogurt']
所以看起来像

12345-1

4 6 7 5-1

(-1表示特定交易的结束,如在代码中)

然后将此输入文件用于代码(与链接中的相同或您自己的不同语言)

在程序执行后获得频繁项集后,可以使用之前使用的映射将其转换回