Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/AccuracyEvaluator.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/AccuracyEvaluator.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/AccuracyEvaluator.cs	(revision 668)
@@ -28,5 +28,5 @@
 using HeuristicLab.GP.StructureIdentification;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class AccuracyEvaluator : GPEvaluatorBase {
     private const double EPSILON = 1.0E-6;
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ClassificationMeanSquaredErrorEvaluator.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ClassificationMeanSquaredErrorEvaluator.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ClassificationMeanSquaredErrorEvaluator.cs	(revision 668)
@@ -28,5 +28,5 @@
 using HeuristicLab.GP.StructureIdentification;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class ClassificationMeanSquaredErrorEvaluator : MeanSquaredErrorEvaluator {
     private const double EPSILON = 1.0E-6;
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ConfusionMatrixEvaluator.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ConfusionMatrixEvaluator.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ConfusionMatrixEvaluator.cs	(revision 668)
@@ -28,5 +28,5 @@
 using HeuristicLab.GP.StructureIdentification;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class ConfusionMatrixEvaluator : GPEvaluatorBase {
     private const double EPSILON = 1.0E-6;
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/CrossValidation.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/CrossValidation.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/CrossValidation.cs	(revision 668)
@@ -28,5 +28,5 @@
 using HeuristicLab.DataAnalysis;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class CrossValidation : OperatorBase {
 
@@ -88,11 +88,11 @@
         rotatedSet.Columns = origDataset.Columns;
         rotatedSet.Samples = samples;
-        childScope.AddVariable(new Variable(scope.TranslateName(DATASET), rotatedSet));
-        childScope.AddVariable(new Variable(scope.TranslateName(TRAININGSAMPLESSTART), new IntData(newTrainingSamplesStart)));
-        childScope.AddVariable(new Variable(scope.TranslateName(TRAININGSAMPLESEND), new IntData(newTrainingSamplesEnd)));
-        childScope.AddVariable(new Variable(scope.TranslateName(VALIDATIONSAMPLESSTART), new IntData(newValidationSamplesStart)));
-        childScope.AddVariable(new Variable(scope.TranslateName(VALIDATIONSAMPLESEND), new IntData(newValidationSamplesEnd)));
-        childScope.AddVariable(new Variable(scope.TranslateName(TESTSAMPLESSTART), new IntData(newTestSamplesStart)));
-        childScope.AddVariable(new Variable(scope.TranslateName(TESTSAMPLESEND), new IntData(newTestSamplesEnd)));
+        childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(DATASET), rotatedSet));
+        childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(TRAININGSAMPLESSTART), new IntData(newTrainingSamplesStart)));
+        childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(TRAININGSAMPLESEND), new IntData(newTrainingSamplesEnd)));
+        childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(VALIDATIONSAMPLESSTART), new IntData(newValidationSamplesStart)));
+        childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(VALIDATIONSAMPLESEND), new IntData(newValidationSamplesEnd)));
+        childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(TESTSAMPLESSTART), new IntData(newTestSamplesStart)));
+        childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(TESTSAMPLESEND), new IntData(newTestSamplesEnd)));
 
         scope.AddSubScope(childScope);
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/FunctionLibraryInjector.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/FunctionLibraryInjector.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/FunctionLibraryInjector.cs	(revision 668)
@@ -30,5 +30,5 @@
 using StructId = HeuristicLab.GP.StructureIdentification;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class FunctionLibraryInjector : OperatorBase {
     private const string TARGETVARIABLE = "TargetVariable";
@@ -65,5 +65,5 @@
       }
 
-      scope.AddVariable(new Variable(scope.TranslateName(FUNCTIONLIBRARY), operatorLibrary));
+      scope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(FUNCTIONLIBRARY), operatorLibrary));
       return null;
     }
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/HeuristicLab.GP.StructureIdentification.Classification.csproj
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/HeuristicLab.GP.StructureIdentification.Classification.csproj	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/HeuristicLab.GP.StructureIdentification.Classification.csproj	(revision 668)
@@ -9,5 +9,5 @@
     <OutputType>Library</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>HeuristicLab.GP.Classification</RootNamespace>
+    <RootNamespace>HeuristicLab.GP.StructureIdentification.Classification</RootNamespace>
     <AssemblyName>HeuristicLab.GP.StructureIdentification.Classification-3.2</AssemblyName>
     <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/HeuristicLabGPClassificationPlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/HeuristicLabGPClassificationPlugin.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/HeuristicLabGPClassificationPlugin.cs	(revision 668)
@@ -25,5 +25,5 @@
 using HeuristicLab.PluginInfrastructure;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   [ClassInfo(Name = "HeuristicLab.GP.StructureIdentification.Classification-3.2")]
   [PluginFile(Filename = "HeuristicLab.GP.StructureIdentification.Classification-3.2.dll", Filetype = PluginFileType.Assembly)]
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MCCEvaluator.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MCCEvaluator.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MCCEvaluator.cs	(revision 668)
@@ -28,5 +28,5 @@
 using HeuristicLab.GP.StructureIdentification;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class MCCEvaluator : GPEvaluatorBase {
     private double limit;
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MulticlassModeller.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MulticlassModeller.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MulticlassModeller.cs	(revision 668)
@@ -28,5 +28,5 @@
 using HeuristicLab.DataAnalysis;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class MulticlassModeller : OperatorBase {
 
@@ -130,12 +130,12 @@
           Scope childScope = new Scope(classAValue+" vs. "+classBValue);
 
-          childScope.AddVariable(new Variable(scope.TranslateName(TARGETCLASSVALUES), binaryClassValues));
-          childScope.AddVariable(new Variable(scope.TranslateName(CLASSAVALUE), new DoubleData(classAValue)));
-          childScope.AddVariable(new Variable(scope.TranslateName(CLASSBVALUE), new DoubleData(classBValue)));
-          childScope.AddVariable(new Variable(scope.TranslateName(TRAININGSAMPLESSTART), new IntData(trainingSamplesStart)));
-          childScope.AddVariable(new Variable(scope.TranslateName(TRAININGSAMPLESEND), new IntData(trainingSamplesEnd)));
-          childScope.AddVariable(new Variable(scope.TranslateName(VALIDATIONSAMPLESSTART), new IntData(validationSamplesStart)));
-          childScope.AddVariable(new Variable(scope.TranslateName(VALIDATIONSAMPLESEND), new IntData(validationSamplesEnd)));
-          childScope.AddVariable(new Variable(scope.TranslateName(DATASET), dataset));
+          childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(TARGETCLASSVALUES), binaryClassValues));
+          childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(CLASSAVALUE), new DoubleData(classAValue)));
+          childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(CLASSBVALUE), new DoubleData(classBValue)));
+          childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(TRAININGSAMPLESSTART), new IntData(trainingSamplesStart)));
+          childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(TRAININGSAMPLESEND), new IntData(trainingSamplesEnd)));
+          childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(VALIDATIONSAMPLESSTART), new IntData(validationSamplesStart)));
+          childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(VALIDATIONSAMPLESEND), new IntData(validationSamplesEnd)));
+          childScope.AddVariable(new HeuristicLab.Core.Variable(scope.TranslateName(DATASET), dataset));
           scope.AddSubScope(childScope);
         }
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MulticlassOneVsOneAnalyzer.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MulticlassOneVsOneAnalyzer.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/MulticlassOneVsOneAnalyzer.cs	(revision 668)
@@ -29,5 +29,5 @@
 using HeuristicLab.GP.StructureIdentification;
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class MulticlassOneVsOneAnalyzer : OperatorBase {
 
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ROCAnalyser.cs
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ROCAnalyser.cs	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/ROCAnalyser.cs	(revision 668)
@@ -29,7 +29,6 @@
 
 
-namespace HeuristicLab.GP.Classification {
+namespace HeuristicLab.GP.StructureIdentification.Classification {
   public class ROCAnalyser : OperatorBase {
-    private ItemList values;
 
     public override string Description {
@@ -56,6 +55,56 @@
         rocValues.Clear();
 
+      //ROC Curve starts at 0,0
+      ItemList row = new ItemList();
+      row.Add(new DoubleData(0));
+      row.Add(new DoubleData(0));
+      rocValues.Add(row);
+
       //calculate new ROC Values
+      double estimated;
+      double original;
+      double positiveClassKey;
+      double negativeClassKey;
+      double truePositiveRate;
+      double falsePositiveRate;
 
+      //initialize classes dictionary
+      Dictionary<double, List<double>> classes = new Dictionary<double, List<double>>();
+      foreach (ItemList value in values) {
+        estimated = ((DoubleData)value[0]).Data;
+        original = ((DoubleData)value[1]).Data;
+        if (!classes.ContainsKey(original))
+          classes[original] = new List<double>();
+        classes[original].Add(estimated);
+      }
+
+      //check for 2 classes classification problem
+      if (classes.Keys.Count != 2)
+        throw new Exception("ROCAnalyser only handles  2 class classification problems");
+
+      //sort estimated values in classes dictionary
+      foreach (List<double> estimatedValues in classes.Values)
+        estimatedValues.Sort();
+
+      //calculate truePosivite- & falsePositiveRate
+      positiveClassKey = classes.Keys.Min<double>();
+      negativeClassKey = classes.Keys.Max<double>();
+      for (int i = 0; i < classes[negativeClassKey].Count; i++) {
+        truePositiveRate = classes[positiveClassKey].Count<double>(value => value < classes[negativeClassKey][i]) / classes[positiveClassKey].Count;
+        //stop calculation if truePositiveRate = 1; save runtime
+        if (truePositiveRate == 1) 
+          break;
+        falsePositiveRate = (i) / classes[negativeClassKey].Count;
+        row = new ItemList();
+        row.Add(new DoubleData(falsePositiveRate));
+        row.Add(new DoubleData(truePositiveRate));
+        rocValues.Add(row);
+      }
+
+      //ROC ends at 1,1
+      row = new ItemList();
+      row.Add(new DoubleData(1));
+      row.Add(new DoubleData(1));
+      rocValues.Add(row);
 
       return null;
Index: trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/HeuristicLab.GP.StructureIdentification.TimeSeries.csproj
===================================================================
--- trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/HeuristicLab.GP.StructureIdentification.TimeSeries.csproj	(revision 667)
+++ trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/HeuristicLab.GP.StructureIdentification.TimeSeries.csproj	(revision 668)
@@ -4,10 +4,10 @@
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
+    <ProductVersion>9.0.30729</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{6084CFB5-733F-449D-9F92-2E40D13F0514}</ProjectGuid>
     <OutputType>Library</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>HeuristicLab.GP.TimeSeries</RootNamespace>
+    <RootNamespace>HeuristicLab.GP.StructureIdentification.TimeSeries</RootNamespace>
     <AssemblyName>HeuristicLab.GP.StructureIdentification.TimeSeries-3.2</AssemblyName>
     <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
