在java中使用weka.core.instance时出现问题

在java中使用weka.core.instance时出现问题,java,exception,instance,weka,Java,Exception,Instance,Weka,我有一个经过训练的j48分类器,我想用它来分类一条记录。所以我决定使用weka.core.instance对象,并通过命令classifyInstancerecord对其进行分类/ 但在第一步中我遇到了一个问题:创建实例。当我想要设置属性值时,我得到异常: 主线程java.lang.ArrayIndexOutOfBoundsException中出现异常:-1 我有24个属性,其中第一个是string,其他的是int。 因此,我使用以下代码: Instance record = new I

我有一个经过训练的j48分类器,我想用它来分类一条记录。所以我决定使用weka.core.instance对象,并通过命令classifyInstancerecord对其进行分类/ 但在第一步中我遇到了一个问题:创建实例。当我想要设置属性值时,我得到异常: 主线程java.lang.ArrayIndexOutOfBoundsException中出现异常:-1 我有24个属性,其中第一个是string,其他的是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,其中包含属性和 Features是包含属性名称的字符串数组


非常感谢。

对于字符串或标称属性,首先我们应该将字符串属性的值添加到数据集,然后尝试设置值,例如。

我不知道我对单个记录进行分类的方法是否正确。任何其他的方法都是有用的,我最终找到了解决办法。对于字符串或标称属性,首先我们应该将字符串属性的值添加到数据集,然后尝试设置例如的值。shohreh:您能自己发布问题的答案,然后接受该答案吗?此外,如果前面的问题解决了您的问题,您需要接受这些问题的答案。