001    /**
002     * Test8.java
003     * jCOLIBRI2 framework. 
004     * @author Juan A. Recio-García.
005     * GAIA - Group for Artificial Intelligence Applications
006     * http://gaia.fdi.ucm.es
007     * 07/05/2007
008     */
009    package jcolibri.test.test8;
010    
011    import jcolibri.evaluation.Evaluator;
012    import jcolibri.evaluation.evaluators.*;
013    
014    
015    /**
016     * This example shows how to evaluate an application.
017     * It uses a CBR application (a StandardCBRApplication implementation) that must store its results in the EvaluationReport.
018     * 
019     * @author Juan A. Recio-Garcia
020     * @version 1.0
021     * 
022     * @see jcolibri.evaluation.Evaluator
023     * @see jcolibri.evaluation.EvaluationReport
024     * @see jcolibri.test.test8.EvaluableApp
025     *
026     */
027    public class Test8 {
028    
029            /**
030             * @param args
031             */
032            public static void main(String[] args) {
033                    // Launch DDBB manager
034                    jcolibri.test.database.HSQLDBserver.init();
035    
036                    //SwingProgressBar shows the progress
037                    jcolibri.util.ProgressController.clear();
038                    jcolibri.util.ProgressController.register(new jcolibri.test.main.SwingProgressBar(), HoldOutEvaluator.class);
039                    
040                    // Example of the Leave-One-Out evaluation
041                    
042                    //LeaveOneOutEvaluator eval = new LeaveOneOutEvaluator();
043                    //eval.init(new EvaluableApp());
044                    //eval.LeaveOneOut();
045                    
046                    // Example of the Hold-Out evaluation
047                    
048                    HoldOutEvaluator eval = new HoldOutEvaluator();
049                    eval.init(new EvaluableApp());
050                    eval.HoldOut(5, 1);
051                    
052                    
053                    // Example of the Same-Split evaluation
054                    
055                    //SameSplitEvaluator eval = new SameSplitEvaluator();
056                    //eval.init(new EvaluableApp());
057                    //eval.generateSplit(5, "split1.txt");
058                    //eval.HoldOutfromFile("split1.txt");
059    
060                    System.out.println(Evaluator.getEvaluationReport());
061                    jcolibri.evaluation.tools.EvaluationResultGUI.show(Evaluator.getEvaluationReport(), "Test8 - Evaluation", false);
062                    
063                    //Shutdown DDBB manager
064                    jcolibri.test.database.HSQLDBserver.shutDown();
065    
066            }
067    
068    }