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