/** * 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); } } }