2016-11-27 45 views
0

現在、オレンジデータマイニングソフトウェアツールを使用してデータを試しています。 ソフトウェアを使用する代わりに、PythonスクリプトからOrangeを実行できますか(プログラムを実行するためにPythonコードを書くことはできますか?)。 私は、データファイルを生成するPythonスクリプトを持っています。私は、Orangeから異なる機能を使用するPythonスクリプトを書いています。それが可能ですか? そのためのチュートリアルはありますか? ありがとうPythonプログラムからOrangeを実行できるか

+0

あなたはPythonの内から任意のプログラムを呼び出すことができることをご存知ですか?そのプログラムがヘッドレスで非対話型の対話をサポートしている場合、このようにして多くのことを行うことができます。いくつかの設定ファイルと入力ファイルを書く必要がありますが、これは一般的な方法です。オレンジのドキュメントを調べて、オレンジの実行可能ファイルへの簡単な呼び出しや、オレンジのドキュメントの「スクリプトインターフェイス」や「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)。

自分のコードから1つまたは複数のウィジェットを呼び出すこともできます。たとえば、次のコードは、ルールビューアウィジェットを実行します:

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

関連する問題