Index: /trunk/sources/HeuristicLab.DataAnalysis/HeuristicLab.DataAnalysis.csproj
===================================================================
--- /trunk/sources/HeuristicLab.DataAnalysis/HeuristicLab.DataAnalysis.csproj	(revision 893)
+++ /trunk/sources/HeuristicLab.DataAnalysis/HeuristicLab.DataAnalysis.csproj	(revision 894)
@@ -68,7 +68,4 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="RowShuffler.cs">
-      <SubType>Form</SubType>
-    </Compile>
     <Compile Include="DataFormatException.cs" />
     <Compile Include="Dataset.cs" />
@@ -89,9 +86,5 @@
     </Compile>
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Regression.cs" />
     <Compile Include="Statistics.cs" />
-    <Compile Include="SvmExporter.cs">
-      <SubType>Form</SubType>
-    </Compile>
   </ItemGroup>
   <ItemGroup>
@@ -114,8 +107,4 @@
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="RowShuffler.resx">
-      <DependentUpon>RowShuffler.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
     <EmbeddedResource Include="DatasetView.resx">
       <DependentUpon>DatasetView.cs</DependentUpon>
@@ -124,8 +113,4 @@
     <EmbeddedResource Include="ManualScalingControl.resx">
       <DependentUpon>ManualScalingControl.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="SvmExporter.resx">
-      <DependentUpon>SvmExporter.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
Index: unk/sources/HeuristicLab.DataAnalysis/Regression.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataAnalysis/Regression.cs	(revision 893)
+++ 	(revision )
@@ -1,155 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace HeuristicLab.DataAnalysis {
-  public class LinearStatistics {
-    /// <summary>
-    /// Calculates linear regression for the given data. The result is given as regression values, which are returned,
-    /// as well as the characteristic coefficients <paramref name="a"/> and <paramref name="b"/>.
-    /// </summary>
-    /// <param name="Data">The data that is given; linear regression is calculated for these data samples.</param>
-    /// <param name="a">Regression coefficient 'a' (output parameter).</param>
-    /// <param name="b">Regression coefficient 'b' (output parameter).</param>
-    /// <returns>Calculated linear regression values.</returns>
-    public static double[] LinearRegression(double[] data, out double a, out double b) {
-      int n = data.Length;
-      double xMean = n / 2.0;
-      double yMean = Statistics.Mean(data);
-      double[] xMinusMean = new double[n];
-      double[] yMinusMean = new double[n];
-      double[] xMinusMeanSquared = new double[n];
-      double[] xMinusMeanTimesYMinusMean = new double[n];
-
-      double ssxx = 0;
-      double ssxy = 0;
-      for(int i = 0; i < n; i++) {
-        xMinusMean[i] = i - xMean;
-        yMinusMean[i] = data[i] - yMean;
-        xMinusMeanSquared[i] = xMinusMean[i] * xMinusMean[i];
-        xMinusMeanTimesYMinusMean[i] = xMinusMean[i] * yMinusMean[i];
-        ssxx += xMinusMeanSquared[i];
-        ssxy += xMinusMeanTimesYMinusMean[i];
-      }
-      b = ssxy / ssxx;
-      a = yMean - b * xMean;
-      double[] result = new double[n];
-      for(int x = 0; x < n; x++)
-        result[x] = a + x * b;
-      return result;
-    }
-
-    /// <summary>
-    /// Calculates linear regression for the given data. The result is given as regression values, which are returned,
-    /// as well as the characteristic coefficients <paramref name="a"/> and <paramref name="b"/>.
-    /// </summary>
-    /// <param name="Data">The data that is given; linear regression is calculated for these data samples.</param>
-    /// <returns>Calculated linear regression values.</returns>
-    public static double[] LinearRegression(double[] data) {
-      double a, b;
-      return LinearRegression(data, out a, out b);
-    }
-
-    public static double CorrelationCoefficient(double[] xValues, double[] yValues) {
-      if(xValues.Length != yValues.Length)
-        throw new Exception("ERROR in CorrelationCoefficient: The given variables have to be equally long!");
-      int n = xValues.Length;
-      double[] x = new double[n];
-      double[] y = new double[n];
-      for(int i = 0; i < n; i++) {
-        if(double.IsNaN(xValues[i]))
-          throw new NotFiniteNumberException();
-        else
-          x[i] = xValues[i];
-        if(double.IsNaN(yValues[i]))
-          throw new NotFiniteNumberException();
-        else
-          y[i] = yValues[i];
-      }
-      double OneOverN = 1.0 / (n + 1);
-      double xMean = Statistics.Mean(x);
-      double yMean = Statistics.Mean(y);
-      double[] xMinusMean = new double[n];
-      double[] yMinusMean = new double[n];
-      double[] xMinusMeanSquared = new double[n];
-      double xMinusMeanSquaredSum = 0.0;
-      double[] yMinusMeanSquared = new double[n];
-      double yMinusMeanSquaredSum = 0.0;
-      double[] xMinusMeanTimesYMinusMean = new double[n];
-      double xMinusMeanTimesYMinusMeanSum = 0.0;
-      for(int i = 0; i < n; i++) {
-        xMinusMean[i] = x[i] - xMean;
-        yMinusMean[i] = y[i] - yMean;
-        xMinusMeanSquared[i] = xMinusMean[i] * xMinusMean[i];
-        xMinusMeanSquaredSum += xMinusMeanSquared[i];
-        yMinusMeanSquared[i] = yMinusMean[i] * yMinusMean[i];
-        yMinusMeanSquaredSum += yMinusMeanSquared[i];
-        xMinusMeanTimesYMinusMean[i] = xMinusMean[i] * yMinusMean[i];
-        xMinusMeanTimesYMinusMeanSum += xMinusMeanTimesYMinusMean[i];
-      }
-      return (OneOverN * xMinusMeanTimesYMinusMeanSum) /
-        (Math.Sqrt(OneOverN * xMinusMeanSquaredSum) * Math.Sqrt(OneOverN * yMinusMeanSquaredSum));
-    }
-
-    #region Coefficient of Determination (R-squared)
-    /// <summary>
-    /// In statistics, the coefficient of determination (R-squared) is the proportion of a sample variance
-    /// of a response variable that is "explained" by the predictor (explanatory) variables when regression is done.
-    /// </summary>
-    /// <param name="originalValues">The original values for which a model shall be created.</param>
-    /// <param name="residuals">The errors between original and predicted values.</param>
-    /// <returns></returns>
-    public static double CoefficientOfDetermination(double[] originalValues, double[] residuals) {
-      int n = originalValues.Length;
-
-      double originalValuesMean = Statistics.Mean(originalValues);
-
-      double[] originalValuesMinusMeanSquared = new double[n];
-      originalValuesMinusMeanSquared = Array.ConvertAll<double, double>(originalValues, delegate(double v) {
-        double t = v - originalValuesMean;
-        return t * t;
-      });
-
-      double totalSumOfSquares = Statistics.Sum(originalValuesMinusMeanSquared);
-
-      double[] residualsSquared = new double[residuals.Length];
-      residualsSquared = Array.ConvertAll<double, double>(residuals, delegate(double r) {
-        return r * r;
-      });
-
-      double sumOfSquaredResiduals = Statistics.Sum(residualsSquared);
-
-      return (1.0 - sumOfSquaredResiduals / totalSumOfSquares);
-    }
-    #endregion
-
-    #region Adjusted Coefficient of Determination (Adjusted R-squared)
-    public static double AdjustedCoefficientOfDetermination(double[] originalValues, double[] residuals, int numberOfExplanatoryTerms) {
-      double rSquared = CoefficientOfDetermination(originalValues, residuals);
-      double n = originalValues.Length;
-      return (1 - (1 - rSquared) * (n - 1) / (n - numberOfExplanatoryTerms - 1));
-    }
-    #endregion
-  }
-}
Index: unk/sources/HeuristicLab.DataAnalysis/RowShuffler.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataAnalysis/RowShuffler.cs	(revision 893)
+++ 	(revision )
@@ -1,160 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-using System.IO;
-using System.Globalization;
-
-namespace HeuristicLab.DataAnalysis {
-  class RowShuffler : Form, IDatasetManipulator {
-    private Label helpLabel;
-    private Button nextButton;
-    private DataGridView dataGridView;
-    private Dataset dataset;
-    public RowShuffler()
-      : base() {
-      InitializeComponent();
-    }
-
-
-    #region IDatasetManipulator Members
-
-    public string Action {
-      get { return "Shuffle rows..."; }
-    }
-
-    public void Execute(Dataset dataset) {
-      this.dataset = dataset;
-      dataGridView.ColumnCount = dataset.Columns;
-      dataGridView.RowCount = dataset.Rows;
-      for(int i = 0; i < dataset.Rows; i++) {
-        for(int j = 0; j < dataset.Columns; j++) {
-          dataGridView.Rows[i].Cells[j].Value = dataset.GetValue(i, j);
-          dataGridView.Rows[i].HeaderCell.Value = i.ToString();
-        }
-      }
-      for(int i = 0; i < dataset.Columns; i++) {
-        dataGridView.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
-        dataGridView.Columns[i].Name = dataset.VariableNames[i];
-      }
-      dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
-
-      ShowDialog();
-    }
-
-    private void ExchangeRows(Dataset dataset, int i, int j) {
-      for(int k = 0; k < dataset.Columns; k++) {
-        double temp = dataset.GetValue(i, k);
-        dataset.SetValue(i, k, dataset.GetValue(j, k));
-        dataset.SetValue(j, k, temp);
-      }
-    }
-
-    #endregion
-
-    private void InitializeComponent() {
-      System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
-      this.dataGridView = new System.Windows.Forms.DataGridView();
-      this.helpLabel = new System.Windows.Forms.Label();
-      this.nextButton = new System.Windows.Forms.Button();
-      ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
-      this.SuspendLayout();
-      // 
-      // dataGridView
-      // 
-      this.dataGridView.AllowUserToAddRows = false;
-      this.dataGridView.AllowUserToDeleteRows = false;
-      this.dataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-      this.dataGridView.Location = new System.Drawing.Point(12, 25);
-      this.dataGridView.Name = "dataGridView";
-      this.dataGridView.ReadOnly = true;
-      dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
-      dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
-      dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-      dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
-      dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-      dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-      dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-      this.dataGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle1;
-      this.dataGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
-      this.dataGridView.Size = new System.Drawing.Size(607, 444);
-      this.dataGridView.TabIndex = 0;
-      this.dataGridView.SelectionChanged += new System.EventHandler(this.dataGridView_SelectionChanged);
-      // 
-      // helpLabel
-      // 
-      this.helpLabel.AutoSize = true;
-      this.helpLabel.Location = new System.Drawing.Point(12, 9);
-      this.helpLabel.Name = "helpLabel";
-      this.helpLabel.Size = new System.Drawing.Size(183, 13);
-      this.helpLabel.TabIndex = 1;
-      this.helpLabel.Text = "Please select the rows to be shuffled.";
-      // 
-      // nextButton
-      // 
-      this.nextButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.nextButton.Location = new System.Drawing.Point(544, 475);
-      this.nextButton.Name = "nextButton";
-      this.nextButton.Size = new System.Drawing.Size(75, 23);
-      this.nextButton.TabIndex = 2;
-      this.nextButton.Text = "Next...";
-      this.nextButton.UseVisualStyleBackColor = true;
-      this.nextButton.Click += new System.EventHandler(this.nextButton_Click);
-      // 
-      // RowShuffler
-      // 
-      this.ClientSize = new System.Drawing.Size(631, 510);
-      this.Controls.Add(this.nextButton);
-      this.Controls.Add(this.helpLabel);
-      this.Controls.Add(this.dataGridView);
-      this.Name = "RowShuffler";
-      this.Text = "Row shuffler";
-      ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    private void dataGridView_SelectionChanged(object sender, EventArgs e) {
-      if(dataGridView.SelectedRows.Count > 1) nextButton.Enabled = true;
-      else nextButton.Enabled = false;
-    }
-
-    private void nextButton_Click(object sender, EventArgs e) {
-      Random random = new Random();
-      for(int i = 0; i < dataGridView.SelectedRows.Count - 1; i++) {
-        int j = random.Next(i, dataGridView.SelectedRows.Count);
-        int col0 = dataGridView.SelectedRows[i].Index;
-        int col1 = dataGridView.SelectedRows[j].Index;
-        ExchangeRows(dataset, i, j);
-      }
-
-      Close();
-    }
-  }
-}
Index: unk/sources/HeuristicLab.DataAnalysis/RowShuffler.resx
===================================================================
--- /trunk/sources/HeuristicLab.DataAnalysis/RowShuffler.resx	(revision 893)
+++ 	(revision )
@@ -1,120 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
Index: unk/sources/HeuristicLab.DataAnalysis/SvmExporter.cs
===================================================================
--- /trunk/sources/HeuristicLab.DataAnalysis/SvmExporter.cs	(revision 893)
+++ 	(revision )
@@ -1,160 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-using System.IO;
-using System.Globalization;
-
-namespace HeuristicLab.DataAnalysis {
-  class SvmExporter : Form, IDatasetManipulator {
-    private Label helpLabel;
-    private Button nextButton;
-    private DataGridView dataGridView;
-    private Dataset dataset;
-    public SvmExporter() : base() {
-      InitializeComponent();
-    }
-
-    #region IDatasetManipulator Members
-    public string Action {
-      get { return "Export to libsvm..."; }
-    }
-
-    public void Execute(Dataset dataset) {
-      this.dataset = dataset;
-      dataGridView.ColumnCount = dataset.Columns;
-      dataGridView.RowCount = dataset.Rows;
-      for(int i = 0; i < dataset.Rows; i++) {
-        for(int j = 0; j < dataset.Columns; j++) {
-          dataGridView.Rows[i].Cells[j].Value = dataset.GetValue(i, j);
-          dataGridView.Rows[i].HeaderCell.Value = i.ToString();
-        }
-      }
-      for(int i = 0; i < dataset.Columns; i++) {
-        dataGridView.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
-        dataGridView.Columns[i].Name = dataset.VariableNames[i];
-      }
-      dataGridView.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect;
-
-      ShowDialog();
-    }
-
-    #endregion
-
-    private void InitializeComponent() {
-      System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
-      this.dataGridView = new System.Windows.Forms.DataGridView();
-      this.helpLabel = new System.Windows.Forms.Label();
-      this.nextButton = new System.Windows.Forms.Button();
-      ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
-      this.SuspendLayout();
-      // 
-      // dataGridView
-      // 
-      this.dataGridView.AllowUserToAddRows = false;
-      this.dataGridView.AllowUserToDeleteRows = false;
-      this.dataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-      this.dataGridView.Location = new System.Drawing.Point(12, 25);
-      this.dataGridView.Name = "dataGridView";
-      this.dataGridView.ReadOnly = true;
-      dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
-      dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
-      dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-      dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
-      dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-      dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-      dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
-      this.dataGridView.RowHeadersDefaultCellStyle = dataGridViewCellStyle1;
-      this.dataGridView.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
-      this.dataGridView.Size = new System.Drawing.Size(568, 200);
-      this.dataGridView.TabIndex = 0;
-      this.dataGridView.SelectionChanged += new System.EventHandler(this.dataGridView_SelectionChanged);
-      // 
-      // helpLabel
-      // 
-      this.helpLabel.AutoSize = true;
-      this.helpLabel.Location = new System.Drawing.Point(12, 9);
-      this.helpLabel.Name = "helpLabel";
-      this.helpLabel.Size = new System.Drawing.Size(231, 13);
-      this.helpLabel.TabIndex = 1;
-      this.helpLabel.Text = "Please select the column of  the target variable.";
-      // 
-      // nextButton
-      // 
-      this.nextButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.nextButton.Location = new System.Drawing.Point(505, 231);
-      this.nextButton.Name = "nextButton";
-      this.nextButton.Size = new System.Drawing.Size(75, 23);
-      this.nextButton.TabIndex = 2;
-      this.nextButton.Text = "Next...";
-      this.nextButton.UseVisualStyleBackColor = true;
-      this.nextButton.Click += new System.EventHandler(this.nextButton_Click);
-      // 
-      // SvmExporter
-      // 
-      this.ClientSize = new System.Drawing.Size(592, 266);
-      this.Controls.Add(this.nextButton);
-      this.Controls.Add(this.helpLabel);
-      this.Controls.Add(this.dataGridView);
-      this.Name = "SvmExporter";
-      this.Text = "Export to libSVM";
-      ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    private void dataGridView_SelectionChanged(object sender, EventArgs e) {
-      if(dataGridView.SelectedColumns.Count == 1) nextButton.Enabled = true;
-      else nextButton.Enabled = false;
-    }
-
-    private void nextButton_Click(object sender, EventArgs e) {
-      int targetColumn = dataGridView.SelectedColumns[0].Index;
-
-      SaveFileDialog saveDialog = new SaveFileDialog();
-      if(saveDialog.ShowDialog() == DialogResult.OK) {
-        string filename = saveDialog.FileName;
-        StreamWriter writer = new StreamWriter(filename);
-        for(int i = 0; i < dataset.Rows; i++) {
-          writer.Write(dataset.GetValue(i, targetColumn).ToString("r", CultureInfo.InvariantCulture) + "\t");
-          for(int j = 0; j < dataset.Columns; j++) {
-            if(j != targetColumn) {
-              double val = dataset.GetValue(i, j);
-              if(!double.IsInfinity(val) && !double.IsNaN(val))
-                writer.Write((j + 1) + ":" + val.ToString("r", CultureInfo.InvariantCulture) + "\t");
-            }
-          }
-          writer.WriteLine();
-        }
-        writer.Close();
-      }
-      Close();
-    }
-  }
-}
Index: unk/sources/HeuristicLab.DataAnalysis/SvmExporter.resx
===================================================================
--- /trunk/sources/HeuristicLab.DataAnalysis/SvmExporter.resx	(revision 893)
+++ 	(revision )
@@ -1,120 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
