ArrayIndexOutOfBoundsException в классификации экземпляров в Java с использованием weka - PullRequest
0 голосов
/ 03 декабря 2018

Я пишу программу для классификации данного экземпляра теста на «положительный» или «отрицательный»;используя алгоритм J48.Я создал модель с помощью инструмента Weka и использовал ее в своей Java-программе.

Моя Java-программа

public static void main(String[] args) {

        double result = -1;

        try {

            ArrayList<Attribute> attributeList = new ArrayList<>(2);

            Attribute tweet = new Attribute("tweet", true);

            ArrayList<String> classVal = new ArrayList<>();

            classVal.add("positive");
            classVal.add("negative");

            attributeList.add(tweet);
            attributeList.add(new Attribute("class", classVal));

            Instances data = new Instances("TestInstances", attributeList, 1);
            Instance inst_co = new DenseInstance(data.numAttributes());
            data.add(inst_co);
            data.setClassIndex(data.numAttributes() - 1);  

            inst_co.setValue(tweet, "I love my grandmom");

            StringToWordVector filter = new StringToWordVector();

             Classifier cls_co = (Classifier) weka.core.SerializationHelper
                    .read("G:/love.model");

            result = cls_co.classifyInstance(data.firstInstance());

            System.out.println(result);

        } catch (Exception e) {

             System.out.println(e.getMessage());
        }

    }

Мой файл обучающих данных

@RELATION love

@ATTRIBUTE tweet string
@ATTRIBUTE class {positive,negative}

@DATA

"I love my sister", positive
"I love my brother", positive
"I love my father", positive
"I love my mother", positive
"I love my uncle", positive
"I love my grandmom", positive
"I hate my cats", negative
"I hate my car", negative
"I hate my van", negative
"I hate my rice", negative
"I hate my bun", negative

Я получаю исключение ArrayIndexOutOfBoundsException от result = cls_co.classifyInstance(data.firstInstance());

Я перепробовал много примеровнашел в интернете.Но все равно я получаю ту же ошибку.

Заранее спасибо.

...