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 */
009package es.ucm.fdi.gaia.jcolibri.test.test8;
010
011import es.ucm.fdi.gaia.jcolibri.evaluation.Evaluator;
012import es.ucm.fdi.gaia.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 es.ucm.fdi.gaia.jcolibri.test.test8.EvaluableApp
025 *
026 */
027public class Test8 {
028
029        /**
030         * @param args
031         */
032        public static void main(String[] args) {
033                // Launch DDBB manager
034                es.ucm.fdi.gaia.jcolibri.test.database.HSQLDBserver.init();
035
036                //SwingProgressBar shows the progress
037            es.ucm.fdi.gaia.jcolibri.util.ProgressController.clear();
038                es.ucm.fdi.gaia.jcolibri.util.ProgressController.register(new es.ucm.fdi.gaia.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                es.ucm.fdi.gaia.jcolibri.evaluation.tools.EvaluationResultGUI.show(Evaluator.getEvaluationReport(), "Test8 - Evaluation", false);
062                
063                //Shutdown DDBB manager
064                es.ucm.fdi.gaia.jcolibri.test.database.HSQLDBserver.shutDown();
065
066        }
067
068}