如何在Orange中创建新数据表?

时间:2012-01-24 12:22:34

标签: python data-mining orange

我正在使用Orange(在Python中)进行一些数据挖掘任务。更具体地说,用于聚类。虽然我已经阅读了教程并阅读了大部分文档,但我仍然遇到了问题。 文档和教程中的所有示例都假设我有一个带有数据的制表符分隔表。但是,没有什么可以说如何从头开始创建一个新表。例如,我想在不同文档中创建一个单词频率表。

也许我错过了一些东西,所以如果有人有任何见解,我们将不胜感激。

由于 乔治

编辑:

这就是我创建表格的方式

#First construct the domain object (top row)
vars = []
for var in variables:
    vars.append(Orange.data.variable.Continuous(str(var)))
domain = Orange.data.Domain(vars, classed) #The second argument indicated that the last attr must not be a class    
#Add data rows assuming we have a matrix 
t = Orange.data.Table(domain, matrix)        

2 个答案:

答案 0 :(得分:5)

这花了我几个小时才弄明白。在python中,执行以下操作:

Import Orange
List, Of, Column, Variables = [Orange.feature.Discrete(x) for x in ['What','Theyre','Called','AsStrings']]
Domain = Orange.data.Domain([List, Of, Column, Variables])
Table = Orange.data.Table(Domain)
Table.save('NewTable.tab')

我会告诉你每一段代码的作用,但截至目前我还不确定。有趣的是,这样一个功能强大的工具包应该有如此难以理解的文档,但我怀疑这是因为它的整个用户群都有博士学位。

答案 1 :(得分:2)

如果你问我,文件确实不够。这可能不是问题的答案,但它可能对其他人有帮助。我试了几个小时使用构造函数和域创建一个表,什么不是,仅用于关联规则挖掘任务,最后发现创建表的最简单方法就是将数据写入扩展名为.tab的文件中。或.basket并从中创建一个表。

Orange.data.Table("yourFile.basket")

当然,文件的结构必须正确。请参阅数据集/

内橙色包目录中提供的示例文件
相关问题