2016-11-27 56 views
0

目前,我正在使用Orange数据挖掘软件工具来测试我的数据。 我们是否可以从Python脚本运行Orange而不是使用软件(我们可以编写一些python代码来执行程序吗?)。 我有一个Python脚本来生成数据文件。我想写一个Python脚本来使用Orange的不同功能。 这是可能的。我们有教程吗? 谢谢我们是否能够从Python程序运行Orange

+0

你知道你可以从Python中调用任何程序吗?如果该程序支持无头,非交互式的交互,那么你可以用这种方式做很多事情。它可能需要你编写一些配置文件和输入文件,这是很常见的做法。我建议你查看Orange的文档,找出可以通过简单的Orange可执行文件调用或者在Orange文档中搜索“脚本接口”或“API”来完成什么样的交互。 –

+1

参见http://docs.orange.biolab.si/3/data-mining-library。 – JanezD

+0

Oliver,Orange已经是一个Python库(+ GUI,也是Python),所以你可以直接导入并调用它。 – JanezD

回答

3

Orange的每个组件都是从Python运行的,因为Orange编写的是Python。您也可以从Python运行单个组件(例如,用于读取数据,数据可视化和模型推断)。文档如何开发此类组件并运行它可在Widget Development Documentation中找到。除了用于测试GUI组件的单元测试之外,几乎所有的小部件还包含一些测试代码,仅通过直接从python运行小部件即可执行(例如,python OWRuleViewer.py)。

您也可以从自己的代码中调用一个或多个小部件。例如,下面的代码将运行规则观察者插件:

import Orange 
from Orange.widgets.visualize.owruleviewer import OWRuleViewer 
from AnyQt.QtWidgets import QApplication 
from Orange.classification import CN2Learner 

data = Orange.data.Table("titanic") 
learner = Orange.classification.CN2Learner() 
model = learner(data) 
model.instances = data 

a = QApplication([]) 
ow = OWRuleViewer() 
ow.set_classifier(model) 

ow.show() 
a.exec() 

此脚本首先读取的数据(在钛酸乘客),则推断使用CN2的分类规则,并将该模型的规则观察者(OWRuleViewer )。规则查看器是一个显示规则的橙色小部件,上面的示例可能如下所示。请注意,在上面的脚本中没有探讨小部件的交互部分(选择规则以及从中选择规则开发的示例)。

titanic rules

+0

谢谢。我无法运行SVMLearner并创建了一个新帖子。你可以看看吗? http://stackoverflow.com/questions/40838367/orange-3-svmlearner-cant-handle-mix-of-multiclass-and-continuous – user3369592

相关问题