Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/BaggingTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/BaggingTraining.java	(revision 21)
+++ 	(revision )
@@ -1,118 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import java.io.PrintStream;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.commons.collections4.list.SetUniqueList;
-import org.apache.commons.io.output.NullOutputStream;
-
-import weka.classifiers.AbstractClassifier;
-import weka.classifiers.Classifier;
-import weka.core.DenseInstance;
-import weka.core.Instance;
-import weka.core.Instances;
-
-public abstract class BaggingTraining implements ISetWiseTrainingStrategy, WekaCompatibleTrainer {
-
-	protected abstract Classifier setupClassifier();
-	
-	private final TraindatasetBagging classifier = new TraindatasetBagging();
-	
-	public void apply(SetUniqueList<Instances> traindataSet) {
-		PrintStream errStr	= System.err;
-		System.setErr(new PrintStream(new NullOutputStream()));
-		try {
-			classifier.buildClassifier(traindataSet);
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		} finally {
-			System.setErr(errStr);
-		}
-	}
-	
-	@Override
-	public Classifier getClassifier() {
-		return classifier;
-	}
-	
-	@Override
-	public void setParameter(String parameters) {
-		// TODO should allow passing of weka parameters to the classifier
-	}
-	
-	public class TraindatasetBagging extends AbstractClassifier {
-		
-		/**
-		 * 
-		 */
-		private static final long serialVersionUID = 1L;
-
-		private List<Instances> trainingData = null;
-		
-		private List<Classifier> classifiers = null;
-	
-		@Override
-		public double classifyInstance(Instance instance) {
-			if( classifiers==null ) {
-				return 0.0;
-			}
-			
-			double classification = 0.0;
-			for( int i=0 ; i<classifiers.size(); i++ ) {
-				Classifier classifier = classifiers.get(i);
-				Instances traindata = trainingData.get(i);
-				
-				Set<String> attributeNames = new HashSet<>();
-				for( int j=0; j<traindata.numAttributes(); j++ ) {
-					attributeNames.add(traindata.attribute(j).name());
-				}
-				
-				double[] values = new double[traindata.numAttributes()];
-				int index = 0;
-				for( int j=0; j<instance.numAttributes(); j++ ) {
-					if( attributeNames.contains(instance.attribute(j).name())) {
-						values[index] = instance.value(j);
-						index++;
-					}
-				}
-				
-				Instances tmp = new Instances(traindata);
-				tmp.clear();
-				Instance instCopy = new DenseInstance(instance.weight(), values);
-				instCopy.setDataset(tmp);
-				try {
-					classification += classifier.classifyInstance(instCopy);
-				} catch (Exception e) {
-					throw new RuntimeException("bagging classifier could not classify an instance", e);
-				}
-			}
-			classification /= classifiers.size();
-			return (classification>=0.5) ? 1.0 : 0.0;
-		}
-		
-		public void buildClassifier(SetUniqueList<Instances> traindataSet) throws Exception {
-			classifiers = new LinkedList<>();
-			trainingData = new LinkedList<>();
-			for( Instances traindata : traindataSet ) {
-				Classifier classifier = setupClassifier();
-				classifier.buildClassifier(traindata);
-				classifiers.add(classifier);
-				trainingData.add(new Instances(traindata));
-			}
-		}
-	
-		@Override
-		public void buildClassifier(Instances traindata) throws Exception {
-			classifiers = new LinkedList<>();
-			trainingData = new LinkedList<>();
-			final Classifier classifier = setupClassifier();
-			classifier.buildClassifier(traindata);
-			classifiers.add(classifier);
-			trainingData.add(new Instances(traindata));
-		}
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/BayesNetBagging.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/BayesNetBagging.java	(revision 21)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.bayes.BayesNet;
-
-public class BayesNetBagging extends BaggingTraining {
-
-	@Override
-	public String getName() {
-		return "BayesNetBagging";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new BayesNet();
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/BayesNetTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/BayesNetTraining.java	(revision 21)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.bayes.BayesNet;
-
-public class BayesNetTraining extends WekaTraining {
-
-	@Override
-	public String getName() {
-		return "BayesNet";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new BayesNet();
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/DecisionTreeBagging.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/DecisionTreeBagging.java	(revision 21)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.trees.J48;
-
-public class DecisionTreeBagging extends BaggingTraining {
-
-	@Override
-	public String getName() {
-		return "C4.5-DTreeBagging";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new J48();
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/DecisionTreeTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/DecisionTreeTraining.java	(revision 21)
+++ 	(revision )
@@ -1,27 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.meta.CVParameterSelection;
-import weka.classifiers.trees.J48;
-
-public class DecisionTreeTraining extends WekaTraining {
-
-	@Override
-	public String getName() {
-		return "C4.5-DTree";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		final CVParameterSelection ps = new CVParameterSelection();
-		ps.setClassifier(new J48());
-		try {
-			// Parameter optimization with 5x5 CV
-			ps.setNumFolds(5);
-			ps.addCVParameter("C 0.1 0.5 5");
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-		return ps;
-	}
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/LogisticRegressionBagging.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/LogisticRegressionBagging.java	(revision 21)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.functions.Logistic;
-
-public class LogisticRegressionBagging extends BaggingTraining {
-
-	@Override
-	public String getName() {
-		return "LogisticRegressionBagging";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new Logistic();
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/LogisticRegressionTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/LogisticRegressionTraining.java	(revision 21)
+++ 	(revision )
@@ -1,17 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.functions.Logistic;
-
-public class LogisticRegressionTraining extends WekaTraining {
-
-	@Override
-	public String getName() {
-		return "LogisticRegression";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new Logistic();
-	}
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/NaiveBayesBagging.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/NaiveBayesBagging.java	(revision 21)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.bayes.NaiveBayes;
-
-public class NaiveBayesBagging extends BaggingTraining {
-
-	@Override
-	public String getName() {
-		return "NaiveBayesBagging";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new NaiveBayes();
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/NaiveBayesTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/NaiveBayesTraining.java	(revision 21)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.bayes.NaiveBayes;
-
-public class NaiveBayesTraining extends WekaTraining {
-
-	@Override
-	public String getName() {
-		return "NaiveBayes";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new NaiveBayes();
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/NeuralNetworkBagging.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/NeuralNetworkBagging.java	(revision 21)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.functions.MultilayerPerceptron;
-
-public class NeuralNetworkBagging extends BaggingTraining {
-
-	@Override
-	public String getName() {
-		return "NeuralNetworkBagging";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new MultilayerPerceptron();
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/NeuralNetworkTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/NeuralNetworkTraining.java	(revision 21)
+++ 	(revision )
@@ -1,17 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.functions.MultilayerPerceptron;
-
-public class NeuralNetworkTraining extends WekaTraining {
-
-	@Override
-	public String getName() {
-		return "NeuralNetwork";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new MultilayerPerceptron();
-	}
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/RandomForestBagging.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/RandomForestBagging.java	(revision 21)
+++ 	(revision )
@@ -1,28 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.meta.CVParameterSelection;
-import weka.classifiers.trees.RandomForest;
-
-public class RandomForestBagging extends BaggingTraining {
-
-	@Override
-	protected Classifier setupClassifier() {
-		final CVParameterSelection ps = new CVParameterSelection();
-		ps.setClassifier(new RandomForest());
-		try {
-			// Parameter optimization with 5x5 CV
-			ps.setNumFolds(5);
-			ps.addCVParameter("I 5 25 5");
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-		return ps;
-	}
-	
-	@Override
-	public String getName() {
-		return "RandomForestBagging";
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/RandomForestTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/RandomForestTraining.java	(revision 21)
+++ 	(revision )
@@ -1,28 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.meta.CVParameterSelection;
-import weka.classifiers.trees.RandomForest;
-
-public class RandomForestTraining extends WekaTraining {
-
-	@Override
-	protected Classifier setupClassifier() {
-		final CVParameterSelection ps = new CVParameterSelection();
-		ps.setClassifier(new RandomForest());
-		try {
-			// Parameter optimization with 5x5 CV
-			ps.setNumFolds(5);
-			ps.addCVParameter("I 5 25 5");
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-		return ps;
-	}
-	
-	@Override
-	public String getName() {
-		return "RandomForest";
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/SMOPolyKernelBagging.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/SMOPolyKernelBagging.java	(revision 21)
+++ 	(revision )
@@ -1,28 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.functions.SMO;
-
-public class SMOPolyKernelBagging extends BaggingTraining {
-
-	@Override
-	public String getName() {
-		return "SMOPolyBagging";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new SMO();
-		/*CVParameterSelection ps = new CVParameterSelection();
-		ps.setClassifier(new SMO());
-		try {
-			// Parameter optimization with 5x5 CV
-			ps.setNumFolds(5);
-			ps.addCVParameter("C 1 100 4");
-		} catch (Exception e) {
-			throw new RuntimeException();
-		}
-		return ps;*/
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/SMOPolyKernelTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/SMOPolyKernelTraining.java	(revision 21)
+++ 	(revision )
@@ -1,28 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.functions.SMO;
-
-public class SMOPolyKernelTraining extends WekaTraining {
-
-	@Override
-	public String getName() {
-		return "SMOPoly";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		return new SMO();
-		/*CVParameterSelection ps = new CVParameterSelection();
-		ps.setClassifier(new SMO());
-		try {
-			// Parameter optimization with 5x5 CV
-			ps.setNumFolds(5);
-			ps.addCVParameter("C 1 100 4");
-		} catch (Exception e) {
-			throw new RuntimeException();
-		}
-		return ps;*/
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/SMORBFKernelBagging.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/SMORBFKernelBagging.java	(revision 21)
+++ 	(revision )
@@ -1,31 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.functions.SMO;
-import weka.classifiers.functions.supportVector.RBFKernel;
-
-public class SMORBFKernelBagging extends BaggingTraining {
-
-	@Override
-	public String getName() {
-		return "SMORBFBagging";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		//CVParameterSelection ps = new CVParameterSelection();
-		final SMO smoRBF = new SMO();
-		smoRBF.setKernel(new RBFKernel());
-		return smoRBF;
-		/*ps.setClassifier(smoRBF);
-		try {
-			// Parameter optimization with 5x5 CV
-			ps.setNumFolds(5);
-			ps.addCVParameter("C 1 100 4");
-		} catch (Exception e) {
-			throw new RuntimeException();
-		}
-		return ps;*/
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/SMORBFKernelTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/SMORBFKernelTraining.java	(revision 21)
+++ 	(revision )
@@ -1,31 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import weka.classifiers.Classifier;
-import weka.classifiers.functions.SMO;
-import weka.classifiers.functions.supportVector.RBFKernel;
-
-public class SMORBFKernelTraining extends WekaTraining {
-
-	@Override
-	public String getName() {
-		return "SMORBF";
-	}
-
-	@Override
-	protected Classifier setupClassifier() {
-		//CVParameterSelection ps = new CVParameterSelection();
-		final SMO smoRBF = new SMO();
-		smoRBF.setKernel(new RBFKernel());
-		return smoRBF;
-		/*ps.setClassifier(smoRBF);
-		try {
-			// Parameter optimization with 5x5 CV
-			ps.setNumFolds(5);
-			ps.addCVParameter("C 1 100 4");
-		} catch (Exception e) {
-			throw new RuntimeException();
-		}
-		return ps;*/
-	}
-
-}
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/training/WekaTraining.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/training/WekaTraining.java	(revision 21)
+++ 	(revision )
@@ -1,38 +1,0 @@
-package de.ugoe.cs.cpdp.training;
-
-import java.io.PrintStream;
-
-import org.apache.commons.io.output.NullOutputStream;
-
-import weka.classifiers.Classifier;
-import weka.core.Instances;
-
-public abstract class WekaTraining implements ITrainingStrategy, WekaCompatibleTrainer {
-	
-	private final Classifier classifier = setupClassifier();
-
-	protected abstract Classifier setupClassifier();
-	
-	@Override
-	public Classifier getClassifier() {
-		return classifier;
-	}
-	
-	@Override
-	public void apply(Instances traindata) {
-		PrintStream errStr	= System.err;
-		System.setErr(new PrintStream(new NullOutputStream()));
-		try {
-			classifier.buildClassifier(traindata);
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		} finally {
-			System.setErr(errStr);
-		}
-	}
-	
-	@Override
-	public void setParameter(String parameters) {
-		// TODO should allow passing of weka parameters to the classifier
-	}
-}
