Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/DefaultClassificationAlgorithmOperators.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/DefaultClassificationAlgorithmOperators.cs	(revision 2341)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/DefaultClassificationAlgorithmOperators.cs	(revision 2344)
@@ -55,28 +55,7 @@
       testAccuracy.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
 
-      ConfusionMatrixEvaluator trainingConfusionMatrix = new ConfusionMatrixEvaluator();
-      trainingConfusionMatrix.Name = "TrainingConfusionMatrixEvaluator";
-      trainingConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "TrainingConfusionMatrix";
-      trainingConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
-      trainingConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
-
-      ConfusionMatrixEvaluator validationConfusionMatrix = new ConfusionMatrixEvaluator();
-      validationConfusionMatrix.Name = "ValidationConfusionMatrixEvaluator";
-      validationConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "ValidationConfusionMatrix";
-      validationConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
-      validationConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
-
-      ConfusionMatrixEvaluator testConfusionMatrix = new ConfusionMatrixEvaluator();
-      testConfusionMatrix.Name = "TestConfusionMatrixEvaluator";
-      testConfusionMatrix.GetVariableInfo("ConfusionMatrix").ActualName = "TestConfusionMatrix";
-      testConfusionMatrix.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
-      testConfusionMatrix.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
-
       individualProc.AddSubOperator(trainingAccuracy);
       individualProc.AddSubOperator(validationAccuracy);
       individualProc.AddSubOperator(testAccuracy);
-      individualProc.AddSubOperator(trainingConfusionMatrix);
-      individualProc.AddSubOperator(validationConfusionMatrix);
-      individualProc.AddSubOperator(testConfusionMatrix);
       return seq;
     }
@@ -92,4 +71,10 @@
       return op;
     }
+
+    internal static void SetModelData(IAnalyzerModel model, IScope scope) {
+      model.SetResult("TrainingAccuracy", scope.GetVariableValue<DoubleData>("TrainingAccuracy", true).Data);
+      model.SetResult("ValidationAccuracy", scope.GetVariableValue<DoubleData>("ValidationAccuracy", true).Data);
+      model.SetResult("TestAccuracy", scope.GetVariableValue<DoubleData>("TestAccuracy", true).Data);
+    }
   }
 }
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGP.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGP.cs	(revision 2341)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/OffspringSelectionGP.cs	(revision 2344)
@@ -34,4 +34,10 @@
       return DefaultClassificationAlgorithmOperators.CreatePostProcessingOperator();
     }
+
+    protected override IAnalyzerModel CreateGPModel() {
+      IAnalyzerModel model = base.CreateGPModel();
+      DefaultClassificationAlgorithmOperators.SetModelData(model, Engine.GlobalScope.SubScopes[0]);
+      return model;
+    }
   }
 }
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGP.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGP.cs	(revision 2341)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/3.3/StandardGP.cs	(revision 2344)
@@ -27,6 +27,16 @@
 namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class StandardGP : HeuristicLab.GP.StructureIdentification.StandardGP, IClassificationAlgorithm {
+    protected override IOperator CreateProblemInjector() {
+      return DefaultClassificationAlgorithmOperators.CreateProblemInjector();
+    }
+    
     protected override IOperator CreatePostProcessingOperator() {
       return DefaultClassificationAlgorithmOperators.CreatePostProcessingOperator();
+    }
+
+    protected override IAnalyzerModel CreateGPModel() {
+      IAnalyzerModel model = base.CreateGPModel();
+      DefaultClassificationAlgorithmOperators.SetModelData(model, Engine.GlobalScope.SubScopes[0]);
+      return model;
     }
   }
