2016-11-27 33 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

相關問題