如何使用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是一个相关的问题,没有得到答案。
答案 0 :(得分:1)
必须按以下方式修改代码:
newInst[1] = (double)data.attribute(1).indexOfValue(className);