2016-12-02 1 views
0

Java에서 WEKA를 사용하는 데이터 마이닝 프로젝트를 작업하면서 지침에서 데이터 세트의 각 속성에 대한 속성 객체를 만들어 FastVector에 추가해야한다고 나와 있습니다. 나는 API를 보려고 노력하지만, 누군가가 나에게 올바른 방법을 보여줄 수 있다고 생각하지 않는다. 나는Weka에서 속성을 생성하는 방법

import java.io.BufferedReader; 
 
import java.io.File; 
 
import java.io.FileReader; 
 

 
import weka.core.Attribute; 
 
import weka.core.FastVector; 
 
import weka.core.Instances; 
 
import weka.core.converters.ArffSaver; 
 

 
public class StartWeka { 
 
\t public static void main(String[]args)throws Exception{ 
 
\t \t 
 
\t \t Instances dataset = new Instances(new BufferedReader(new FileReader("C:/Users/Student/workspace/Data Mining/src/iris.arff.txt"))); 
 
\t \t 
 
\t \t Instances train = new Instances(dataset); 
 
\t \t train.setClassIndex(train.numAttributes()-1); 
 
\t \t 
 
\t \t System.out.println(dataset.toSummaryString()); 
 
\t \t 
 
\t \t Attribute a1 = new Attribute("sepallength", 0); 
 
     Attribute a2 = new Attribute("sepalwidth", 1); 
 
     Attribute a3 = new Attribute("petalwidth", 2); 
 
     
 
     FastVector attrs = new FastVector(); 
 
\t \t attrs.addElement(a1); 
 
\t } 
 
}

답변

0

FastVector이되지 않는 한 iris.arff 파일을 사용하고 있습니다. 대신 ArrayList를 사용할 수 있습니다.

그러나 arff 파일을 사용하면 아무 것도 할 필요가 없습니다. 다음을 수행하면됩니다.

ArffLoader loader = new ArffLoader(); 
    loader.setFile(new File("iris.arff"); 
    Instances structure = loader.getStructure(); 
    structure.setClassIndex(structure.numAttributes() - 1); 

여기에서 인스턴스를 기반으로 분류 기준을 만들 수 있습니다. (구조).

관련 문제