2016-07-08 6 views
0

Ich habe eine ArrayList implementiert, deren Typ ist Instance, und indem ich etwas Code schreibe, habe ich die positiven und negativen Instanzen aus einer Datei gelesen und entsprechend ihrer Klasse label, fügen Sie sie hinzu bezogen auf ArrayList. Jetzt möchte ich wissen, wie kann ich den Typ dieser ArrayList in Instanzen Typ konvertieren und dann in der Lage sein, einige Methoden und Klassen von Weka API zu verwenden, um es zu resample und einen Klassifikator zu erstellen?Konvertieren Instanztyp ArrayList in Instanzen Objekt

unten ist ein bisschen von meinem Code.

public class MyDecision { 
double m=0.1; 
double d=0.1; 
private ArrayList<Instance> positiveInstances; 
private ArrayList<Instance> negativeInstances; 
Filter filter; 

private double[] classlabels; 
public MyDecision() throws Exception{ 

     positiveInstances = new ArrayList<Instance>(); 
     negativeInstances = new ArrayList<Instance>(); 

    br = new BufferedReader(new FileReader("D:\\workspace\\MyDecision\\littleMyChurn\\Churn.arff")); 
     ArffSaver saverTets = new ArffSaver(); 
     ArffSaver saverTraining = new ArffSaver(); 
     Instances trainData = new Instances(br); 


    // Make the last attribute be the class 
     trainData.setClassIndex(trainData.numAttributes() - 1); 
     br.close(); 


      classlabels=trainData.attributeToDoubleArray(trainData.numAttributes()-1); 

     for(int i=0;i<=trainData.numInstances()-1;i++){ 

      if(classlabels[i]==0){ 
      positiveInstances.add(trainData.instance(i)); 
      } 

      else if(classlabels[i]==1){    
      negativeInstances.add(trainData.instance(i)); 
       } 
     } 

     Resample resample = new Resample(); 

} }

+0

Haben Sie jemals eine Lösung finden? –

Antwort

0

Versuchen Sie, Ihre Arraylist zu erstellen, so:

ArrayList<Instance> positiveInstances = new ArrayList<>();