List of usage examples for weka.filters Filter toString
@Override
public String toString()
From source file:adams.flow.template.MyTransformer.java
License:Open Source License
/** * Generates a random list of Weka filters * /*from w ww.ja v a2 s . c om*/ * @param classes * List of all available weka filters * @param numOfFilters * Size of the list to generate * @return random list of Weka filters */ private WekaFilter[] getRandomFilters(List<Class<?>> classes, int numOfFilters) { WekaFilter[] filterList = new WekaFilter[numOfFilters]; for (int i = 0; i < numOfFilters; i++) { int randomNumber = randInt(0, classes.size()); try { Filter randomFilter = (Filter) classes.get(randomNumber).newInstance(); System.out.println(randomFilter.toString()); filterList[i] = new WekaFilter(); filterList[i].setFilter(randomFilter); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return filterList; }
From source file:adams.flow.template.RandomPreprocessingFlowGenerator.java
License:Open Source License
/** * Generates a random list of Weka filters * /*from w w w . j a v a 2s . c o m*/ * @param classes * List of all available weka filters * @param numOfFilters * Size of the list to generate * @return random list of Weka filters */ private WekaFilter[] getRandomFilters(List<Class<?>> classes, int numOfFilters) { WekaFilter[] filterList = new WekaFilter[numOfFilters]; for (int i = 0; i < numOfFilters; i++) { try { Filter randomFilter; Integer filterOccurrence; String filterName; int[] discard = new int[classes.size()]; do { int randomNumber = randInt(0, classes.size() - 1); randomFilter = (Filter) classes.get(randomNumber).newInstance(); filterName = randomFilter.toString(); // Increment counter of occurrences for the current filter filterOccurrence = counter.get(filterName); if (filterOccurrence == null) { filterOccurrence = 0; } // Control if the max number of occurrences have been reached by all the filters discard[randomNumber] = 1; if (sum(discard) == discard.length) { throw new Exception( "All filters have been already used and it is not possible to add more"); } } while (filterOccurrence > maxNumOccurrences); counter.put(filterName, ++filterOccurrence); System.out.println(filterName); filterList[i] = new WekaFilter(); filterList[i].setFilter(randomFilter); // Initialize only with the initial batch filterList[i].setInitializeOnce(true); // filterList[i].setStopFlowOnError(false); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } return filterList; }
From source file:etc.aloe.cscw2013.FeatureExtractionImpl.java
License:Open Source License
@Override public ExampleSet extractFeatures(ExampleSet basicExamples, FeatureSpecification spec) { ExampleSet examples = basicExamples; if (this.verbosity.ordinal() > Verbosity.Quiet.ordinal()) { System.out.print("Extracting features for " + examples.size() + " examples... "); }/*from www . j a v a2 s. c o m*/ for (Filter filter : spec.getFilters()) { try { Instances instances = Filter.useFilter(examples.getInstances(), filter); examples = new ExampleSet(instances); } catch (Exception e) { System.err.println("Unable to apply filter: " + filter.toString()); System.err.println("\t" + e.getMessage()); return null; } } if (this.verbosity.ordinal() > Verbosity.Quiet.ordinal()) { System.out.println("done."); } return examples; }