проблема в использовании weka.core.instance в Java - PullRequest
0 голосов
/ 22 августа 2011

У меня есть обученный классификатор j48, и я хочу классифицировать по нему одну запись. поэтому я решил использовать объект weka.core.instance и классифицировать его командой: "classifyInstance (record)" / но у меня есть проблема на первом этапе: создание экземпляра. когда я хочу установить значения атрибутов, я получаю исключение: Исключение в потоке "main" java.lang.ArrayIndexOutOfBoundsException: -1 У меня есть 24 атрибута, который первый из них является строкой, а другие Int. поэтому я использую код ниже:

    Instance record = new Instance(data.size());
    for(int i=1; i<data.size(); i++) 
    record.setValue(new Attribute(featuers[i]), Integer.parseInt(data.get(i)));

data - это arrayList, который содержит значение атрибута и featuers - это строковый массив, содержащий имена атрибутов.

Большое спасибо.

1 Ответ

0 голосов
/ 22 мая 2012

для строковых или номинальных атрибутов, сначала мы должны добавить значение строкового атрибута в набор данных, а затем попытаться установить, например, setValue.

...