我想使用 Python从数据集中的文本字段计算关联规则,例如下面的数据集:
ID fav_breakfast
1 I like to eat eggs and bacon for breakfast.
2 Bacon, bacon, bacon!
3 I love pancakes, but only if they have extra syrup!
4 Waffles and bacon. Eggs too!
5 Eggs, potatoes, and pancakes. No meat for me!
请注意,这Orange 2.7
不是一个选项,因为我使用的是当前版本的 Python(3.6),Orange 3
公平游戏也是如此;但是,我似乎无法弄清楚这个模块如何处理这种格式的数据。
在我看来,第一步是将上述转换为稀疏矩阵,例如下面显示的(截断的)矩阵:
接下来,我们要删除停用词(即 I、to、and、for 等)、大写/小写问题、数字、标点符号,以及诸如土豆、土豆、土豆等词的解释(带有词形还原) .
一旦这个稀疏矩阵就位,下一步就是计算稀疏矩阵中所有单词/字符串之间的关联规则。我已经使用arules
包在 R 中完成了此操作;但是,我无法确定Pythonarules
的“等价物” 。
我设想的最终解决方案将包括左侧和右侧参数的列表,以及按降序排列的规则的支持度、置信度和提升度,最高提升度规则在顶部,最低提升度规则在底部(再次,很容易在 R 中获得arules
)。
此外,我希望能够将右侧指定为“培根”,这也以降序显示规则的支持、信心和提升,关于“培根”的最高提升规则在顶部以及与底部“培根”相关的最低提升规则。
使用Orange3-Associate
可能是去这里的路线;但是,我在网上找不到任何好的例子。提前感谢您的帮助!