Example usage for weka.gui.treevisualizer TreeVisualizer fitToScreen

List of usage examples for weka.gui.treevisualizer TreeVisualizer fitToScreen

Introduction

In this page you can find the example usage for weka.gui.treevisualizer TreeVisualizer fitToScreen.

Prototype

public void fitToScreen() 

Source Link

Document

Fits the tree to the current screen size.

Usage

From source file:Controller.CtlDataMining.java

public String arbolJ48(Instances data) {
    try {//from w  w w .j a  v a  2 s  .c o  m
        // Creamos un clasidicador J48
        J48 j48 = new J48();
        //creamos el clasificador  del J48 con los datos 
        j48.buildClassifier(data);

        //Creamos un objeto para la validacion del modelo con redBayesiana
        Evaluation evalJ48 = new Evaluation(data);

        /*Aplicamos el clasificador J48
        hacemos validacion cruzada, de redBayesiana, con 10 campos, 
        y el aleatorio arrancando desde 1 para la semilla*/
        evalJ48.crossValidateModel(j48, data, 10, new Random(1));
        //Obtenemos resultados
        String resJ48 = "<br><b><center>Resultados Arbol de decision J48"
                + "</center><br>========<br>Modelo generado indica los "
                + "siguientes resultados:<br>========<br></b>";

        resJ48 = resJ48
                + ("<b>1. Numero de instancias clasificadas:</b> " + (int) evalJ48.numInstances() + "<br>");
        resJ48 = resJ48 + ("<b>2. Porcentaje de instancias correctamente " + "clasificadas:</b> "
                + formato.format(evalJ48.pctCorrect()) + "<br>");
        resJ48 = resJ48 + ("<b>3. Numero de instancias correctamente " + "clasificadas:</b>"
                + (int) evalJ48.correct() + "<br>");
        resJ48 = resJ48 + ("<b>4. Porcentaje de instancias incorrectamente " + "clasificadas:</b> "
                + formato.format(evalJ48.pctIncorrect()) + "<br>");
        resJ48 = resJ48 + ("<b>5. Numero de instancias incorrectamente " + "clasificadas:</b> "
                + (int) evalJ48.incorrect() + "<br>");
        resJ48 = resJ48 + ("<b>6. Media del error absoluto:</b> " + formato.format(evalJ48.meanAbsoluteError())
                + "<br>");
        resJ48 = resJ48
                + ("<b>7. " + evalJ48.toMatrixString("Matriz de" + " confusion</b>").replace("\n", "<br>"));

        // SE GRAFICA EL ARBOL GENERADO
        //Se crea un Jframe Temporal
        final javax.swing.JFrame jf = new javax.swing.JFrame("Arbol de decision: J48");
        /*Se asigna un tamao*/
        jf.setSize(500, 400);
        /*Se define un borde*/
        jf.getContentPane().setLayout(new BorderLayout());
        /*Se instancia la grafica del arbol, estableciendo el tipo J48
        Parametros (Listener, Tipo de arbol, Tipo de nodos)
        El placeNode2 colocar los nodos para que caigan en forma uniforme
        por debajo de su padre*/
        TreeVisualizer tv = new TreeVisualizer(null, j48.graph(), new PlaceNode2());
        /*Aade el arbol centrandolo*/
        jf.getContentPane().add(tv, BorderLayout.CENTER);
        /*Aadimos un listener para la X del close*/
        jf.addWindowListener(new java.awt.event.WindowAdapter() {
            @Override
            public void windowClosing(java.awt.event.WindowEvent e) {
                jf.dispose();
            }
        });
        /*Lo visualizamos*/
        jf.setVisible(true);
        /*Ajustamos el arbol al ancho del JFRM*/
        tv.fitToScreen();

        return resJ48;

    } catch (Exception e) {
        return "El error es" + e.getMessage();

    }
}

From source file:coreferenceresolver.gui.WekaTreeGUI.java

/**
 * Creates new form WekaTreeGUI/*from  w  ww  .j a  v a  2 s.com*/
 */
public WekaTreeGUI(J48 tree) throws Exception {
    initComponents();
    this.tree = tree;
    // display classifier
    this.setTitle("Weka Classifier Tree Visualizer: J48");
    this.setExtendedState(JFrame.MAXIMIZED_BOTH);
    this.getContentPane().setLayout(new BorderLayout());
    TreeVisualizer tv = new TreeVisualizer(null, tree.graph(), new PlaceNode2());
    this.getContentPane().add(tv, BorderLayout.CENTER);
    this.addWindowListener(new java.awt.event.WindowAdapter() {
        public void windowClosing(java.awt.event.WindowEvent e) {
            WekaTreeGUI.this.dispose();
        }
    });

    tv.fitToScreen();
}

From source file:org.conqat.engine.commons.machine_learning.BaseWekaClassifier.java

License:Apache License

/**
 * Visualizes a decision tree in a new pop-up window. This works only if the
 * underlying classifier is a J48 tree./* w w w .j  av  a  2 s.co  m*/
 */
public void debugVisualizeDecisionTree() throws ConQATException {
    CCSMAssert.isTrue(wekaClassifier instanceof J48, "Only J48 trees can be visualized!");

    TreeVisualizer treeVisualizer;
    try {
        treeVisualizer = new TreeVisualizer(null, ((J48) wekaClassifier).graph(), new PlaceNode2());
    } catch (Exception e) {
        throw new ConQATException(e);
    }
    JFrame frame = new JFrame("Weka Classifier Tree Visualizer: J48");
    frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    frame.setSize(800, 1200);
    frame.getContentPane().setLayout(new BorderLayout());
    frame.getContentPane().add(treeVisualizer, BorderLayout.CENTER);
    frame.setVisible(true);
    treeVisualizer.fitToScreen();
}

From source file:rdfsystem.MainFrame.java

private void classifyButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_classifyButtonActionPerformed
    try {//from www  .jav  a  2 s  .  com
        String tree = DataMining.classify(manager);
        TreeVisualizer tv = new TreeVisualizer(null, tree, new PlaceNode2());
        JDialog jf = new JDialog();
        jf.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        jf.setSize(800, 600);
        jf.setModal(true);
        jf.setLocationRelativeTo(null);
        jf.setResizable(false);
        jf.getContentPane().setLayout(new BorderLayout());
        jf.getContentPane().add(tv, BorderLayout.CENTER);
        tv.fitToScreen();
        jf.setVisible(true);
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, ex.getMessage());
        ex.printStackTrace();
    }

}