如何用橙色的绳子创建一个篮子?
How to create a basket from a string in orange?
文档中有 example 如何在示例 .basket 文件中查找关联规则:
import Orange
data = Orange.data.Table("market-basket.basket")
rules = Orange.associate.AssociationRulesSparseInducer(data, support=0.3)
.篮子文件如下所示:
Bread, Milk
Bread, Diapers, Beer, Eggs
Milk, Diapers, Beer, Cola
Bread, Milk, Diapers, Beer
Bread, Milk, Diapers, Cola
我想使用相同的方法,但我不知道如何根据我的数据创建购物篮。有没有办法使用 Orange.data.Table 从包含与文件相同数据的字符串创建篮子?
In Orange 3, there is an add-on Orange3-Associate(附加组件不需要安装 Orange 3),您可以在 numpy.array
、scipy.sparse
或普通列表中使用您的数据列出表格。
http://orange3-associate.readthedocs.org/en/latest/
此外,插件使用的算法 (FP-growth) 比 Orange 2 (Apriori) 中的算法much faster。
在 Orange 2 中,这会将您的字符串转换为稀疏数据 table,就像您从篮子文件中获得的那样。
import re
import Orange
word = re.compile("\w+")
s = """Bread, Milk
Bread, Diapers, Beer, Eggs
Milk, Diapers, Beer, Cola
Bread, Milk, Diapers, Beer
Bread, Milk, Diapers, Cola"""
all_items = set(word.findall(s))
domain = Orange.data.Domain([])
domain.add_metas({Orange.orange.newmetaid(): Orange.feature.Continuous(n)
for n in all_items}, True)
data = Orange.data.Table(domain)
for e in s.splitlines():
ex = Orange.data.Instance(domain)
for m in re.findall("\w+", e):
ex[m] = 1
data.append(ex)
假设每一项在一行中只出现一次。 add_metas
、True
中的最后一个参数表明这些属性是 "optional"。没有它,矩阵就不会稀疏。
文档中有 example 如何在示例 .basket 文件中查找关联规则:
import Orange
data = Orange.data.Table("market-basket.basket")
rules = Orange.associate.AssociationRulesSparseInducer(data, support=0.3)
.篮子文件如下所示:
Bread, Milk
Bread, Diapers, Beer, Eggs
Milk, Diapers, Beer, Cola
Bread, Milk, Diapers, Beer
Bread, Milk, Diapers, Cola
我想使用相同的方法,但我不知道如何根据我的数据创建购物篮。有没有办法使用 Orange.data.Table 从包含与文件相同数据的字符串创建篮子?
In Orange 3, there is an add-on Orange3-Associate(附加组件不需要安装 Orange 3),您可以在 numpy.array
、scipy.sparse
或普通列表中使用您的数据列出表格。
http://orange3-associate.readthedocs.org/en/latest/
此外,插件使用的算法 (FP-growth) 比 Orange 2 (Apriori) 中的算法much faster。
在 Orange 2 中,这会将您的字符串转换为稀疏数据 table,就像您从篮子文件中获得的那样。
import re
import Orange
word = re.compile("\w+")
s = """Bread, Milk
Bread, Diapers, Beer, Eggs
Milk, Diapers, Beer, Cola
Bread, Milk, Diapers, Beer
Bread, Milk, Diapers, Cola"""
all_items = set(word.findall(s))
domain = Orange.data.Domain([])
domain.add_metas({Orange.orange.newmetaid(): Orange.feature.Continuous(n)
for n in all_items}, True)
data = Orange.data.Table(domain)
for e in s.splitlines():
ex = Orange.data.Instance(domain)
for m in re.findall("\w+", e):
ex[m] = 1
data.append(ex)
假设每一项在一行中只出现一次。 add_metas
、True
中的最后一个参数表明这些属性是 "optional"。没有它,矩阵就不会稀疏。