Beispiel #1
0
  /**
   * Function to create a new classification with the given dataset.
   *
   * @param source The dataset.
   * @param model The model selected to make the classification.
   * @throws Exception If cannot build the classification.
   */
  public Classification(Dataset source, Cut model) throws Exception {
    int index;
    Itemset itemset;
    double[] weights;
    perClassPerValue = new double[model.numSubsets()][0];
    perValue = new double[model.numSubsets()];
    total = 0;
    perClass = new double[source.numClasses()];

    for (int i = 0; i < model.numSubsets(); i++) {
      perClassPerValue[i] = new double[source.numClasses()];
    }

    Enumeration enum2 = source.enumerateItemsets();

    while (enum2.hasMoreElements()) {
      itemset = (Itemset) enum2.nextElement();
      index = model.whichSubset(itemset);

      if (index != -1) {
        add(index, itemset);
      } else {
        weights = model.weights(itemset);
        addWeights(itemset, weights);
      }
    }
  }