ARFF文件中的类属性

时间:2014-04-28 09:44:02

标签: java attributes classification weka

如何使用Java在WEKA ARFF文件中添加类属性?

特别是,我的ARFF结构(根据陈述的here)应该是:

@attribute text string
@attribute classifyIn {basketball,nonbasketball}

我的问题是:如何以编程方式声明classifyIn

我的程序:

我宣布ARFF属性如下:

FastVector attributes = new FastVector(2);

attributes.addElement(new Attribute("text", (FastVector) null));    

FastVector classes = new FastVector();
classes.addElement(className);
classes.addElement("non" + className);
attributes.addElement(new Attribute("class",classes));

我按以下方式插入条目:

double[] newInst = new double[2];
newInst[0] = (double)data.attribute(0).addStringValue(textValue);
newInst[1] = (double)data.attribute(1).addStringValue(className);

其中className是字符串basketball或字符串nonbasketball

错误:

但是,当我运行代码时,会出现以下错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1

Here是一个相关的问题,没有得到答案。

1 个答案:

答案 0 :(得分:1)

必须按以下方式修改代码:

newInst[1] = (double)data.attribute(1).indexOfValue(className);