2
我需要打印一个ARFF文件,该文件是在我的Java应用程序的上传文件中应用使用Weka的过滤方法后生成的。将ARFF文件打印为二维数组
Weka中是否有任何方法或以任何方式将ARFF文件打印为二维数组? 我需要输出参数名称和值。
我需要打印一个ARFF文件,该文件是在我的Java应用程序的上传文件中应用使用Weka的过滤方法后生成的。将ARFF文件打印为二维数组
Weka中是否有任何方法或以任何方式将ARFF文件打印为二维数组? 我需要输出参数名称和值。
首先,您需要使用ArffReader
加载文件。下面是从Weka中的javadoc这样做的标准方式:
BufferedReader reader = new BufferedReader(new FileReader("file.arff"));
ArffReader arff = new ArffReader(reader);
Instances data = arff.getData();
data.setClassIndex(data.numAttributes() - 1);
然后你可以使用上面获得通过每个属性及其相关值,以迭代Instances
对象,打印,当您去:
for (int i = 0; i < data.numAttributes(); i++)
{
// Print the current attribute.
System.out.print(data.attribute(i).name() + ": ");
// Print the values associated with the current attribute.
double[] values = data.attributeToDoubleArray(i);
System.out.println(Arrays.toString(values));
}
这将导致如下输出:
attribute1: [value1, value2, value3]
attribute2: [value1, value2, value3]
非常感谢你,它的工作完美:) –
太棒了!听到那个消息很开心。 –