001 /** 002 * Test9.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 * 03/05/2007 008 */ 009 package jcolibri.test.test9; 010 011 012 import jcolibri.casebase.LinealCaseBase; 013 import jcolibri.cbrcore.Attribute; 014 import jcolibri.cbrcore.CBRCaseBase; 015 import jcolibri.cbrcore.Connector; 016 import jcolibri.connector.PlainTextConnector; 017 import jcolibri.method.retrieve.NNretrieval.NNConfig; 018 import jcolibri.method.retrieve.NNretrieval.similarity.global.Average; 019 import jcolibri.method.retrieve.NNretrieval.similarity.local.Interval; 020 021 /** 022 * This example shows how to visualizate a case base using the InfoVisual library develped by Josep Lluis Arcos (IIIA-CSIC). 023 * The class of each case is defined by the id attribute of the solution. 024 * @author Juan A. Recio-Garcia 025 * 026 */ 027 public class Test9 { 028 029 /** 030 * @param args 031 */ 032 public static void main(String[] args) { 033 034 try { 035 jcolibri.util.ProgressController.clear(); 036 jcolibri.util.ProgressController.register(new jcolibri.test.main.SwingProgressBar(), jcolibri.extensions.visualization.CasesVisualization.class); 037 038 //Configure connector and case base 039 Connector _connector = new PlainTextConnector(); 040 _connector.initFromXMLfile(jcolibri.util.FileIO.findFile("jcolibri/test/test9/plaintextconfig.xml")); 041 CBRCaseBase _caseBase = new LinealCaseBase(); 042 043 // Load cases 044 _caseBase.init(_connector); 045 046 // Configure NN 047 048 NNConfig simConfig = new NNConfig(); 049 simConfig.setDescriptionSimFunction(new Average()); 050 simConfig.addMapping(new Attribute("sepalLength",IrisDescription.class), new Interval(3.6)); 051 simConfig.addMapping(new Attribute("sepalWidth", IrisDescription.class), new Interval(2.4)); 052 simConfig.addMapping(new Attribute("petalLength",IrisDescription.class), new Interval(5.9)); 053 simConfig.addMapping(new Attribute("petalWidth", IrisDescription.class), new Interval(2.4)); 054 055 // Visualize the case base 056 jcolibri.extensions.visualization.CasesVisualization.visualize(_caseBase.getCases(), simConfig); 057 058 } catch (Exception e) { 059 org.apache.commons.logging.LogFactory.getLog(Test9.class).error(e); 060 } 061 062 063 } 064 065 }