Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/03/12 13:41:36 (12 years ago)
Author:
sforsten
Message:

#1782:

  • renamed CanSave to CanExportData and SaveData to ExportData
  • added the same functionality for importing problem instance as we implemented for exporting
  • some special changes had to be made in Problems.Instances.VehicleRouting
Location:
trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Classification/CSV/ClassifiactionCSVInstanceProvider.cs

    r8180 r8192  
    2020#endregion
    2121
    22 
    2322using System;
    2423using System.Collections.Generic;
    2524using System.IO;
     25using System.Linq;
    2626using System.Text;
    2727using HeuristicLab.Problems.DataAnalysis;
     28
    2829namespace HeuristicLab.Problems.Instances.DataAnalysis {
    2930  public class ClassificationCSVInstanceProvider : ClassificationInstanceProvider {
     
    4344    }
    4445
    45     public override bool CanSaveData {
    46       get { return true; }
    47     }
    48 
    4946    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
    5047      return new List<IDataDescriptor>();
    5148    }
    5249
    53     public override void SaveData(IClassificationProblemData instance, string path) {
     50    public override IClassificationProblemData LoadData(IDataDescriptor descriptor) {
     51      throw new NotImplementedException();
     52    }
     53
     54    public override bool CanImportData {
     55      get { return true; }
     56    }
     57    public override IClassificationProblemData ImportData(string path) {
     58      TableFileParser csvFileParser = new TableFileParser();
     59
     60      csvFileParser.Parse(path);
     61
     62      Dataset dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);
     63      string targetVar = csvFileParser.VariableNames.Where(x => dataset.DoubleVariables.Contains(x)).Last();
     64      IEnumerable<string> allowedInputVars = dataset.DoubleVariables.Where(x => !x.Equals(targetVar));
     65
     66      ClassificationProblemData claData = new ClassificationProblemData(dataset, allowedInputVars, targetVar);
     67
     68      int trainingPartEnd = csvFileParser.Rows * 2 / 3;
     69      claData.TrainingPartition.Start = 0;
     70      claData.TrainingPartition.End = trainingPartEnd;
     71      claData.TestPartition.Start = trainingPartEnd;
     72      claData.TestPartition.End = csvFileParser.Rows;
     73      int pos = path.LastIndexOf('\\');
     74      if (pos < 0)
     75        claData.Name = path;
     76      else {
     77        pos++;
     78        claData.Name = path.Substring(pos, path.Length - pos);
     79      }
     80
     81      return claData;
     82    }
     83
     84    public override bool CanExportData {
     85      get { return true; }
     86    }
     87    public override void ExportData(IClassificationProblemData instance, string path) {
    5488      StringBuilder strBuilder = new StringBuilder();
    5589
     
    74108      }
    75109    }
    76 
    77     public override IClassificationProblemData LoadData(IDataDescriptor descriptor) {
    78       throw new NotImplementedException();
    79     }
    80110  }
    81111}
  • trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Classification/ClassificationInstanceProvider.cs

    r8180 r8192  
    2020#endregion
    2121
    22 using System.Collections;
    23 using System.Collections.Generic;
    24 using System.Linq;
    2522using HeuristicLab.Problems.DataAnalysis;
    2623
    2724namespace HeuristicLab.Problems.Instances.DataAnalysis {
    2825  public abstract class ClassificationInstanceProvider : ProblemInstanceProvider<IClassificationProblemData> {
    29     public override IClassificationProblemData LoadData(string path) {
    30       TableFileParser csvFileParser = new TableFileParser();
    31 
    32       csvFileParser.Parse(path);
    33 
    34       Dataset dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);
    35       string targetVar = csvFileParser.VariableNames.Where(x => dataset.DoubleVariables.Contains(x)).Last();
    36       IEnumerable<string> allowedInputVars = dataset.DoubleVariables.Where(x => !x.Equals(targetVar));
    37 
    38       ClassificationProblemData claData = new ClassificationProblemData(dataset, allowedInputVars, targetVar);
    39 
    40       int trainingPartEnd = csvFileParser.Rows * 2 / 3;
    41       claData.TrainingPartition.Start = 0;
    42       claData.TrainingPartition.End = trainingPartEnd;
    43       claData.TestPartition.Start = trainingPartEnd;
    44       claData.TestPartition.End = csvFileParser.Rows;
    45       int pos = path.LastIndexOf('\\');
    46       if (pos < 0)
    47         claData.Name = path;
    48       else {
    49         pos++;
    50         claData.Name = path.Substring(pos, path.Length - pos);
    51       }
    52 
    53       return claData;
    54     }
    5526  }
    5627}
  • trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Clustering/CSV/ClusteringCSVInstanceProvider.cs

    r8180 r8192  
    4747    }
    4848
    49     public override bool CanSaveData {
     49    public override IClusteringProblemData LoadData(IDataDescriptor descriptor) {
     50      throw new NotImplementedException();
     51    }
     52
     53    public override bool CanImportData {
    5054      get { return true; }
    5155    }
     56    public override IClusteringProblemData ImportData(string path) {
     57      var csvFileParser = new TableFileParser();
    5258
    53     public override void SaveData(IClusteringProblemData instance, string path) {
     59      csvFileParser.Parse(path);
     60
     61      var dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);
     62      var claData = new ClusteringProblemData(dataset, dataset.DoubleVariables);
     63
     64      int trainingPartEnd = csvFileParser.Rows * 2 / 3;
     65      claData.TrainingPartition.Start = 0;
     66      claData.TrainingPartition.End = trainingPartEnd;
     67      claData.TestPartition.Start = trainingPartEnd;
     68      claData.TestPartition.End = csvFileParser.Rows;
     69      int pos = path.LastIndexOf('\\');
     70      if (pos < 0)
     71        claData.Name = path;
     72      else {
     73        pos++;
     74        claData.Name = path.Substring(pos, path.Length - pos);
     75      }
     76
     77      return claData;
     78    }
     79
     80    public override bool CanExportData {
     81      get { return true; }
     82    }
     83    public override void ExportData(IClusteringProblemData instance, string path) {
    5484      var strBuilder = new StringBuilder();
    5585
     
    74104      }
    75105    }
    76 
    77     public override IClusteringProblemData LoadData(IDataDescriptor descriptor) {
    78       throw new NotImplementedException();
    79     }
    80106  }
    81107}
  • trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Clustering/ClusteringInstanceProvider.cs

    r8180 r8192  
    2424namespace HeuristicLab.Problems.Instances.DataAnalysis {
    2525  public abstract class ClusteringInstanceProvider : ProblemInstanceProvider<IClusteringProblemData> {
    26     public override IClusteringProblemData LoadData(string path) {
    27       var csvFileParser = new TableFileParser();
    28 
    29       csvFileParser.Parse(path);
    30 
    31       var dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);
    32       var claData = new ClusteringProblemData(dataset, dataset.DoubleVariables);
    33 
    34       int trainingPartEnd = csvFileParser.Rows * 2 / 3;
    35       claData.TrainingPartition.Start = 0;
    36       claData.TrainingPartition.End = trainingPartEnd;
    37       claData.TestPartition.Start = trainingPartEnd;
    38       claData.TestPartition.End = csvFileParser.Rows;
    39       int pos = path.LastIndexOf('\\');
    40       if (pos < 0)
    41         claData.Name = path;
    42       else {
    43         pos++;
    44         claData.Name = path.Substring(pos, path.Length - pos);
    45       }
    46 
    47       return claData;
    48     }
    4926  }
    5027}
  • trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/CSV/RegressionCSVInstanceProvider.cs

    r8180 r8192  
    2020#endregion
    2121
    22 
    2322using System;
    2423using System.Collections.Generic;
    2524using System.IO;
     25using System.Linq;
    2626using System.Text;
    2727using HeuristicLab.Problems.DataAnalysis;
     28
    2829namespace HeuristicLab.Problems.Instances.DataAnalysis {
    2930  public class RegressionCSVInstanceProvider : RegressionInstanceProvider {
     
    4344    }
    4445
    45     public override bool CanSaveData {
    46       get { return true; }
    47     }
    48 
    4946    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
    5047      return new List<IDataDescriptor>();
    5148    }
     49    public override IRegressionProblemData LoadData(IDataDescriptor descriptor) {
     50      throw new NotImplementedException();
     51    }
    5252
    53     public override void SaveData(IRegressionProblemData instance, string path) {
     53    public override bool CanImportData {
     54      get { return true; }
     55    }
     56    public override IRegressionProblemData ImportData(string path) {
     57      TableFileParser csvFileParser = new TableFileParser();
     58      csvFileParser.Parse(path);
     59
     60      Dataset dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);
     61      string targetVar = csvFileParser.VariableNames.Where(x => dataset.DoubleVariables.Contains(x)).Last();
     62
     63      IEnumerable<string> allowedInputVars = dataset.DoubleVariables.Where(x => !x.Equals(targetVar));
     64
     65      IRegressionProblemData regData = new RegressionProblemData(dataset, allowedInputVars, targetVar);
     66
     67      int trainingPartEnd = csvFileParser.Rows * 2 / 3;
     68      regData.TrainingPartition.Start = 0;
     69      regData.TrainingPartition.End = trainingPartEnd;
     70      regData.TestPartition.Start = trainingPartEnd;
     71      regData.TestPartition.End = csvFileParser.Rows;
     72
     73      int pos = path.LastIndexOf('\\');
     74      if (pos < 0)
     75        regData.Name = path;
     76      else {
     77        pos++;
     78        regData.Name = path.Substring(pos, path.Length - pos);
     79      }
     80      return regData;
     81    }
     82
     83    public override bool CanExportData {
     84      get { return true; }
     85    }
     86    public override void ExportData(IRegressionProblemData instance, string path) {
    5487      StringBuilder strBuilder = new StringBuilder();
    5588
     
    74107      }
    75108    }
    76 
    77     public override IRegressionProblemData LoadData(IDataDescriptor descriptor) {
    78       throw new NotImplementedException();
    79     }
    80109  }
    81110}
  • trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/RegressionInstanceProvider.cs

    r8180 r8192  
    2020#endregion
    2121
    22 using System.Collections;
    23 using System.Collections.Generic;
    24 using System.Linq;
    2522using HeuristicLab.Problems.DataAnalysis;
    2623
    2724namespace HeuristicLab.Problems.Instances.DataAnalysis {
    2825  public abstract class RegressionInstanceProvider : ProblemInstanceProvider<IRegressionProblemData> {
    29 
    30     public override IRegressionProblemData LoadData(string path) {
    31       TableFileParser csvFileParser = new TableFileParser();
    32       csvFileParser.Parse(path);
    33 
    34       Dataset dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);
    35       string targetVar = csvFileParser.VariableNames.Where(x => dataset.DoubleVariables.Contains(x)).Last();
    36 
    37       IEnumerable<string> allowedInputVars = dataset.DoubleVariables.Where(x => !x.Equals(targetVar));
    38 
    39       IRegressionProblemData regData = new RegressionProblemData(dataset, allowedInputVars, targetVar);
    40 
    41       int trainingPartEnd = csvFileParser.Rows * 2 / 3;
    42       regData.TrainingPartition.Start = 0;
    43       regData.TrainingPartition.End = trainingPartEnd;
    44       regData.TestPartition.Start = trainingPartEnd;
    45       regData.TestPartition.End = csvFileParser.Rows;
    46 
    47       int pos = path.LastIndexOf('\\');
    48       if (pos < 0)
    49         regData.Name = path;
    50       else {
    51         pos++;
    52         regData.Name = path.Substring(pos, path.Length - pos);
    53       }
    54       return regData;
    55     }
    5626  }
    5727}
Note: See TracChangeset for help on using the changeset viewer.