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