/** * Main Function * * @param args the Command line arguments. Only one is processed: the name of the file containing * the * <p>parameters */ public static void main(String[] args) throws IOException { double[][] X; double[][] Y; int nInpt, nOutpl, ndata, i, j; Rbfn net; try { // Help required if (args.length > 0) { if (args[0].equals("--help") || args[0].equals("-help") || args[0].equals("-h") || args[0].equals("-?")) { doHelp(); return; } } System.out.println("- Executing doRbfnDec " + args.length); // Reading parameters String paramFile = (args.length > 0) ? args[0] : "parameters.txt"; setParameters(paramFile); System.out.println(" - Parameters file: " + paramFile); // Random generator setup if (reallySeed) { Randomize.setSeed((long) seed); } // Reading Training dataset ProcDataset Dtrn = new ProcDataset(trnFile, true); // Training System.out.println("Modeling Dataset"); Dtrn.processModelDataset(); nInpt = Dtrn.getninputs(); nOutpl = 1; // PD.getnvariables()-nInpt; ndata = Dtrn.getndata(); Y = new double[ndata][1]; X = Dtrn.getX(); double[] auxY; auxY = Dtrn.getY(); for (i = 0; i < ndata; i++) Y[i][0] = auxY[i]; // Building and training the net net = new Rbfn(nNeuronsIni, X, ndata, nInpt, nOutpl); net.decremental(X, Y, ndata, percent, alfa); double[] obtained = new double[ndata]; net.testModeling(X, ndata, obtained); Dtrn.generateResultsModeling(outTrnFile, auxY, obtained); // TEST ProcDataset Dtst = new ProcDataset(tstFile, false); Dtst.processModelDataset(); nInpt = Dtst.getninputs(); nOutpl = 1; // PD.getnvariables()-nInpt; ndata = Dtst.getndata(); X = Dtst.getX(); auxY = Dtst.getY(); Y = new double[ndata][1]; for (i = 0; i < ndata; i++) Y[i][0] = auxY[i]; obtained = new double[ndata]; net.testModeling(X, ndata, obtained); Dtst.generateResultsModeling(outTstFile, auxY, obtained); RBFUtils.createOutputFile(trnFile, outRbfFile); net.printRbfn(outRbfFile); if (Dtrn.datasetType() == 2) System.out.println("This is not a clustering algorithm"); System.out.println( "- End of doRbfnDec. See results in output files named according to " + paramFile + " parameters file."); } catch (Exception e) { throw new InternalError(e.toString()); } }