/** * Returns a newly created tree. * * @param data the training data * @exception Exception if something goes wrong */ @Override protected ClassifierTree getNewTree(Instances data) throws Exception { ClassifierTree newTree = new NBTreeClassifierTree(m_toSelectModel); newTree.buildTree(data, false); return newTree; }
/** * Prints tree structure. */ @Override public String toString() { try { StringBuffer text = new StringBuffer(); if (m_isLeaf) { text.append(": NB"); text.append(m_id); } else { dumpTreeNB(0, text); } text.append("\n" + printLeafModels()); text.append("\n\nNumber of Leaves : \t" + numLeaves() + "\n"); text.append("\nSize of the tree : \t" + numNodes() + "\n"); return text.toString(); } catch (Exception e) { e.printStackTrace(); return "Can't print nb tree."; } }
/** * Returns graph describing the tree. * * @exception Exception if something goes wrong */ @Override public String graph() throws Exception { StringBuffer text = new StringBuffer(); text.append("digraph J48Tree {\n"); if (m_isLeaf) { text.append("N" + m_id + " [label=\"" + "NB model" + "\" " + "shape=box style=filled "); if (m_train != null && m_train.numInstances() > 0) { text.append("data =\n" + m_train + "\n"); text.append(",\n"); } text.append("]\n"); } else { text.append("N" + m_id + " [label=\"" + Utils.backQuoteChars(m_localModel.leftSide(m_train)) + "\" "); if (m_train != null && m_train.numInstances() > 0) { text.append("data =\n" + m_train + "\n"); text.append(",\n"); } text.append("]\n"); graphTree(text); } return text.toString() + "}\n"; }
/** * Print the models at the leaves * * @return textual description of the leaf models */ public String printLeafModels() { StringBuffer text = new StringBuffer(); if (m_isLeaf) { text.append("\nLeaf number: " + m_id + " "); text.append(m_localModel.toString()); text.append("\n"); } else { for (ClassifierTree m_son : m_sons) { text.append(((NBTreeClassifierTree) m_son).printLeafModels()); } } return text.toString(); }
/** * Help method for printing tree structure. * * @exception Exception if something goes wrong */ private void dumpTreeNB(int depth, StringBuffer text) throws Exception { int i, j; for (i = 0; i < m_sons.length; i++) { text.append("\n"); ; for (j = 0; j < depth; j++) { text.append("| "); } text.append(m_localModel.leftSide(m_train)); text.append(m_localModel.rightSide(i, m_train)); if (m_sons[i].m_isLeaf) { text.append(": NB "); text.append(m_sons[i].m_id); } else { ((NBTreeClassifierTree) m_sons[i]).dumpTreeNB(depth + 1, text); } } }
/** * Returns graph describing the tree. * * @exception Exception if something goes wrong */ @Override public String graph() throws Exception { StringBuffer text = new StringBuffer(); text.append("digraph J48Tree {\n"); if (m_isLeaf) { text.append("N" + m_id + " [label=\"" + "NB model" + "\" " + "shape=box style=filled "); if (m_train != null && m_train.numInstances() > 0) { text.append("data =\n" + m_train + "\n"); text.append(",\n"); } text.append("]\n"); } else { text.append("N" + m_id + " [label=\"" + Utils.backQuoteChars(m_localModel.leftSide(m_train)) + "\" "); if (m_train != null && m_train.numInstances() > 0) { text.append("data =\n" + m_train + "\n"); text.append(",\n"); } text.append("]\n"); graphTree(text); } return text.toString() + "}\n"; }
/** * Print the models at the leaves * * @return textual description of the leaf models */ public String printLeafModels() { StringBuffer text = new StringBuffer(); if (m_isLeaf) { text.append("\nLeaf number: " + m_id + " "); text.append(m_localModel.toString()); text.append("\n"); } else { for (ClassifierTree m_son : m_sons) { text.append(((NBTreeClassifierTree) m_son).printLeafModels()); } } return text.toString(); }
/** * Help method for printing tree structure. * * @exception Exception if something goes wrong */ private void dumpTreeNB(int depth, StringBuffer text) throws Exception { int i, j; for (i = 0; i < m_sons.length; i++) { text.append("\n"); ; for (j = 0; j < depth; j++) { text.append("| "); } text.append(m_localModel.leftSide(m_train)); text.append(m_localModel.rightSide(i, m_train)); if (m_sons[i].m_isLeaf) { text.append(": NB "); text.append(m_sons[i].m_id); } else { ((NBTreeClassifierTree) m_sons[i]).dumpTreeNB(depth + 1, text); } } }
/** * Prints tree structure. */ @Override public String toString() { try { StringBuffer text = new StringBuffer(); if (m_isLeaf) { text.append(": NB"); text.append(m_id); } else { dumpTreeNB(0, text); } text.append("\n" + printLeafModels()); text.append("\n\nNumber of Leaves : \t" + numLeaves() + "\n"); text.append("\nSize of the tree : \t" + numNodes() + "\n"); return text.toString(); } catch (Exception e) { e.printStackTrace(); return "Can't print nb tree."; } }
/** * Returns a newly created tree. * * @param data the training data * @exception Exception if something goes wrong */ @Override protected ClassifierTree getNewTree(Instances data) throws Exception { ClassifierTree newTree = new NBTreeClassifierTree(m_toSelectModel); newTree.buildTree(data, false); return newTree; }
((NBTreeClassifierTree) m_sons[i]).graphTree(text);
/** * Returns a newly created tree. * * @param train the training data * @param test the pruning data. * @exception Exception if something goes wrong */ @Override protected ClassifierTree getNewTree(Instances train, Instances test) throws Exception { ClassifierTree newTree = new NBTreeClassifierTree(m_toSelectModel); newTree.buildTree(train, test, false); return newTree; }
((NBTreeClassifierTree) m_sons[i]).graphTree(text);
/** * Returns a newly created tree. * * @param train the training data * @param test the pruning data. * @exception Exception if something goes wrong */ @Override protected ClassifierTree getNewTree(Instances train, Instances test) throws Exception { ClassifierTree newTree = new NBTreeClassifierTree(m_toSelectModel); newTree.buildTree(train, test, false); return newTree; }