2013-03-31 2 views

ответ

0

Почти каждый классификатор в weka может использоваться из командной строки. Это использование командной строки предоставляется java-пользователям с интерфейсом обработчика опций. См. Use WEKA in your Java code.

Option handling 
Weka schemes that implement the weka.core.OptionHandler interface, 
such as classifiers, clusterers, and filters, offer the following methods 
for setting and retrieving options: 

В соответствии с этим, вы будете использовать следующий код Java:

import weka.classifiers.meta.AdaBoostM1; 

AdaBoostM1 classifier = new AdaBoostM1(); 
Instances data = readArffFile(); 
String optionString = " -P 100 -S 1 -I 10 -W weka.classifiers.trees.DecisionStump"; 
classifier.setOptions(weka.core.Utils.splitOptions(optionString); 
classifier.buildClassifier(data); 

Я боюсь, что вам нужно изменить этот код Java в Jython. Я не думаю, что это будет сложно.

1

Этот Jython код работал для меня в 3.7.10

algo = AdaBoostM1() 
option_string = " -P 100 -S 1 -I " + str(num) + " -W weka.classifiers.trees.J48" 
options = splitOptions(option_string) 
algo.setOptions(options) 
algo.buildClassifier(data) 

Вы также можете сделать это следующим образом:

algo = AdaBoostM1() 
options = []; 
options.append("-P"); 
options.append("100"); 
options.append("-S"); 
options.append("1"); 
options.append("-I"); 
options.append(str(num)); 
options.append("-W"); 
options.append("weka.classifiers.trees.J48"); 
algo.buildClassifier(data)