2016-07-08 179 views
0

我已經實現了一個ArrayList,它的類型爲Instance,通過編寫一些代碼,我已經從文件中讀取了正面實例和負面實例,並根據它們的類標籤將它們添加到相關的ArrayList。現在我想知道如何將此ArrayList的類型轉換爲Instances類型,然後能夠使用Weka API的某些方法和類來重新採樣它並創建分類器?將實例類型ArrayList轉換爲實例對象

下面是我的代碼。

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

你有沒有找到一個解決辦法? –

回答

0

嘗試創建自己的ArrayList這樣:

ArrayList<Instance> positiveInstances = new ArrayList<>(); 
相關問題