/*********************************************************************** This file is part of KEEL-software, the Data Mining tool for regression, classification, clustering, pattern mining and so on. Copyright (C) 2004-2010 F. Herrera (herrera@decsai.ugr.es) L. S�nchez (luciano@uniovi.es) J. Alcal�-Fdez (jalcala@decsai.ugr.es) S. Garc�a (sglopez@ujaen.es) A. Fern�ndez (alberto.fernandez@ujaen.es) J. Luengo (julianlm@decsai.ugr.es) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/ **********************************************************************/ package keel.Algorithms.RE_SL_Methods.mogulSC; /* * Created on 07-feb-2004 * * @author Jesus Alcala Fernandez * */ import java.lang.*; import java.util.StringTokenizer; import org.core.Fichero; public class Lanzar { public static void main(String[] args) { if (args.length != 1) { System.out.println("Remember: java Lanzar <file_configuration>"); } else { System.out.println( "Step 1: Obtaining the initial Rule Base and Data Base"); MogulSC mogul = new MogulSC(args[0]); mogul.run(); System.out.println("Step 2: Genetic Selection of the Rules"); Sel simplificacion = new Sel(args[0]); simplificacion.run(); boolean tuning = leer_conf(args[0]); if (tuning) { System.out.println("Final Step: Genetic Tuning of the FRBS"); Tun_aprox tun = new Tun_aprox(args[0]); tun.run(); } System.out.println("Algorithm Finished!"); } } private static boolean leer_conf(String fichero_conf) { int i; String cadenaEntrada; boolean tuning = false; // we read the file in a String cadenaEntrada = Fichero.leeFichero(fichero_conf); StringTokenizer sT = new StringTokenizer(cadenaEntrada, "\n\r=", false); // we read the algorithm's name sT.nextToken(); sT.nextToken(); // we read the name of the training and test files sT.nextToken(); sT.nextToken(); // we read the name of the output files sT.nextToken(); String valor = sT.nextToken(); StringTokenizer ficheros = new StringTokenizer(valor, "\t ", false); ficheros.nextToken(); //salida oblig traing ficheros.nextToken(); //salida oblig test ficheros.nextToken(); //BR del primer metodo ficheros.nextToken(); //BD del primer metodo String fichero_reglas = ( (ficheros.nextToken()).replace('\"', ' ')).trim(); //BR de seleccion String fich_tuning = ( (ficheros.nextToken()).replace('\"', ' ')).trim(); //BR de tuning // we read the parameters for (i = 0; i < 17; i++) { //leo los 17 primeros parametros que son de los dos primeros m�todos sT.nextToken(); //nombre parametro sT.nextToken(); //valor parametro } sT.nextToken(); valor = sT.nextToken().trim(); if (valor.compareToIgnoreCase("YES") == 0) { tuning = true; } else { //Copio la salida de seleccion en la de tuning (no hago tuning) String cadena = Fichero.leeFichero(fichero_reglas); Fichero.escribeFichero(fich_tuning, cadena); } return tuning; } }