/* * Returns a new decision tree that was created by using only the features present in the chromosome. */ public DecisionTreeClassifier getDecisionTree() { ArrayList<String> features = new ArrayList<String>(); for (int i = 0; i < chromosome.length(); ++i) if (chromosome.charAt(i) == '1') features.add(FeatureSuperSet.get(i)); DecisionTreeClassifier dtClassifier = new DecisionTreeClassifier(samples, features); SampleCollection training_samples = new SampleCollection( samples.getSamplesFilename(Filenames.TRAINING_SAMPLES_FILE), samples.getSamplesFilename(Filenames.FEATURES_FILE)); training_samples.discretizeSamples(Constants.DiscretizerAlgorithms.EQUAL_BINNING); dtClassifier.setTestingSamples(training_samples); dtClassifier.setTrainingSamples(training_samples); return dtClassifier; }