Esempio n. 1
0
  private void printTree(FeatureTree tree) {
    minEntropy = Double.POSITIVE_INFINITY;
    maxEntropy = Double.NEGATIVE_INFINITY;

    for (TreeNode node : tree.getNodes()) {

      // if node matrix contains only zeros, don't print
      if (node.getCost() != 0) {
        node.setNodeIdentityNumber(nodeCounter);
        nodeCounter += 1;

        double nodeEntropy = computeEntropy(node.getCountMatrix());
        if (nodeEntropy > maxEntropy) {
          maxEntropy = nodeEntropy;
        }
        if (nodeEntropy < minEntropy) {
          minEntropy = nodeEntropy;
        }
      }
    }

    for (TreeNode node : tree.getNodes()) {
      try {
        if (node.getCost() != 0) {
          fw.write(getEdgeString(tree, node));
          fw.write(getNodeString(tree, node));
        }
      } catch (IOException ex) {
        Logger.getLogger(TreeGraphPrinter.class.getName()).log(Level.SEVERE, null, ex);
      }
    }
  }