2014-02-28 5 views
2

내 Java 응용 프로그램에서 업로드 된 파일에 Weka를 사용하여 필터 방법을 적용한 후에 생성 된 ARFF 파일을 인쇄해야합니다.ARFF 파일을 2 차원 배열로 인쇄

Weka 또는 ARFF 파일을 2 차원 배열로 인쇄하는 방법이 있습니까? 매개 변수 이름과 값을 인쇄해야합니다.

답변

4

먼저 ArffReader을 사용하여 파일을로드해야합니다.

BufferedReader reader = new BufferedReader(new FileReader("file.arff")); 
ArffReader arff = new ArffReader(reader); 
Instances data = arff.getData(); 
data.setClassIndex(data.numAttributes() - 1); 

그런 다음 각 속성과 관련 값을 반복하는 상기에서 얻어진 Instances 객체를 사용할 수 있습니다 당신이가는대로, 인쇄 : 다음은 웨카의의 javadoc에서 그렇게 할 수있는 표준적인 방법이다

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

굉장! 그것을 듣고 기뻐. –