【问题标题】:How do I create a new data table in Orange?如何在 Orange 中创建新数据表?
【发布时间】:2012-02-17 16:37:55
【问题描述】:

我正在使用 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)        

【问题讨论】:

标签: python data-mining orange


【解决方案1】:

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

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

当然文件的结构需要正确。请参阅位于 datasets/

内的 Orange 包目录中提供的示例文件

【讨论】:

    【解决方案2】:

    我花了好几个小时才弄明白。在 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')
    

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

    【讨论】:

    • 好吧,我还没有博士学位,我用的是 Orange。但我同意你的看法。文档非常复杂。问题是,有时 Orange 试图让生活变得比实际困难得多:)。我实际上已经设法自己找到了解决方案,但忘了在这里发布。我现在就去做,但我会选择你的答案:)
    • 我们非常感谢您提出建议(甚至更好的是带有编辑的拉取请求),以使其变得更好!
    猜你喜欢
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2014-08-13
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多