如何使用Java忽略weka中的属性?

时间:2019-05-21 22:34:11

标签: java weka

我需要禁用以下列:性别,年龄,组名称,子组,名称事件

当我尝试禁用列时出现错误: 它出现在第51行,出现在“年龄”行。 错误字符串不能转换为int

  import java.io.BufferedReader;
  import java.io.FileNotFoundException;
  import java.io.FileReader;
  import weka.clusterers.ClusterEvaluation;
  import weka.clusterers.SimpleKMeans;
  import weka.core.Instances;
  import weka.core.converters.ConverterUtils.DataSource;
  import weka.filters.unsupervised.attribute.Remove;
  /**
  *
  * @author x2010s
  */
  public class automatizacion {

  public static BufferedReader readDataFile(String filename) {
    BufferedReader inputReader = null;

    try {
        inputReader = new BufferedReader(new FileReader(filename));
    } catch (FileNotFoundException ex) {
        System.err.println("File not found: " + filename);
    }

    return inputReader;
     }

        /**
       * @param args the command line arguments
   */
  public static void main(String[] args) throws Exception{

    SimpleKMeans kmeans = new SimpleKMeans();

    kmeans.setSeed(10);

    //important parameter to set: preserver order, number of cluster.
    kmeans.setPreserveInstancesOrder(true);
    kmeans.setNumClusters(2);

    DataSource source = new DataSource("C:/Users/x2010s/Documents/NetBeansProjects/transmisibles.csv"); 
    Instances data = source.getDataSet();
            Remove removeFilter = new Remove();
            removeFilter.setAttributeIndicesArray("Age");
            removeFilter.setInvertSelection(true);
            removeFilter.setInputFormat(data);


     kmeans.buildClusterer(data);
            ClusterEvaluation eval = new ClusterEvaluation();
            eval.setClusterer(kmeans);
            eval.evaluateClusterer(data);
     // This array returns the cluster number (starting with 0) for each instance
     // The array has as many elements as the number of instances
     int[] assignments = kmeans.getAssignments();

     int i=0;
     for(int clusterNum : assignments) {
        System.out.printf("Instance %d -> Cluster %d \n", i, clusterNum);
        i++;
     }
            System.out.println("\n Cluster Evaluation: "+eval.clusterResultsToString());
         // TODO code application logic here
       }

就像使用weka程序一样忽略属性

0 个答案:

没有答案