2014-02-28 46 views
2

我需要打印一個ARFF文件,該文件是在我的Java應用程序的上傳文件中應用使用Weka的過濾方法後生成的。將ARFF文件打印爲二維數組

Weka中是否有任何方法或以任何方式將ARFF文件打印爲二維數組? 我需要輸出參數名稱和值。

回答

4

首先,您需要使用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] 
+1

非常感謝你,它的工作完美:) –

+0

太棒了!聽到那個消息很開心。 –