2010-11-17 2 views
0

Я пытаюсь запустить программу Java, которая выполняет команды Weka. Программа, которую я запускаю, находится в http://weka.wikispaces.com/Use+WEKA+in+your+Java+code, в разделе «Инкрементальные классификаторы», «Рабочий пример - IncrementalClassifier.java».не может запускать java-программу, которая выполняет команды weka

Это мой код, и я изменил адрес ARFF:

import weka.core.Instance; 
import weka.core.Instances; 
import weka.core.converters.ArffLoader; 
import weka.classifiers.bayes.NaiveBayesUpdateable; 

import java.io.File; 

/** 
* This example trains NaiveBayes incrementally on data obtained 
* from the ArffLoader. 
* 
* @author FracPete (fracpete at waikato dot ac dot nz) 
*/ 
public class IncrementalClassifier { 

    /** 
    * Expects an ARFF file as first argument (class attribute is assumed 
    * to be the last attribute). 
    * 
    * @param args  the commandline arguments 
    * @throws Exception if something goes wrong 
    */ 
    public static void main(String[] args) throws Exception { 
    // load data 
    ArffLoader loader = new ArffLoader(); 
    loader.setFile(new File("C:\\Program Files\\Weka-3-6\\10random+5.arff")); 
    Instances structure = loader.getStructure(); 
    structure.setClassIndex(structure.numAttributes() - 1); 

    // train NaiveBayes 
    NaiveBayesUpdateable nb = new NaiveBayesUpdateable(); 
    nb.buildClassifier(structure); 
    Instance current; 
    while ((current = loader.getNextInstance(structure)) != null) 
     nb.updateClassifier(current); 

    // output generated model 
    System.out.println(nb); 
    } 
} 

ошибка, я получаю это:

java.io.FileNotFoundException: \iris.2.arff (The system cannot find the file specified) 
    at java.io.FileInputStream.open(Native Method) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at java.io.FileReader.<init>(Unknown Source) 
    at weka.classifiers.bayes.net.ADNode.main(ADNode.java:270) 

Как поступить?

Благодаря

ответ

1

Этот файл (iris.2.arff), кажется, быть зашиты в источник, как показано here. Я бы предположил, что этот файл поставляется с дистрибутивом, но не в правильном месте. Или, возможно, вы используете неправильный метод.

+0

Спасибо, что ответили. Я не знаю, как действовать на ваши отзывы. – user511440

+0

Сначала обновите сообщение, чтобы включить всю трассировку стека, а также укажите, на какой строке в ВАШЕМ источнике выбрано исключение. –

+0

Ошибки, которые я получаю: 1.Project «CN170» отсутствует требуемая библиотека: «C: \ Program Files \ Weka-3-4 \ weka.jar» (ресурс: CN170, местоположение: путь сборки), 2. проект не может быть создан до устранения ошибок пути сборки (Resource: CN170, Location: unknown), 3. Необработанный тип исключения IOException (Resource: simpleprog.java, location: line18). – user511440

0

это потому, что вы работаете неправильный класс в конфигурации приложения Java, что вам нужно сделать, это:

правой кнопкой мыши на проект: Run As: конфигурация Run: В поле «Main Class» выберите ваш класс «IncrementalClassifier»

вот и все, удачи!

Смежные вопросы