Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/02/12 09:49:43 (12 years ago)
Author:
sforsten
Message:

#1942:

  • added csv import dialog for regression
  • improved existing dialog (tool tip, design, preview of dataset)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysisCSVImport/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/CSV/RegressionCSVInstanceProvider.cs

    r8701 r8715  
    6767      var allowedInputVars = new List<string>();
    6868      var trainingIndizes = Enumerable.Range(0, (csvFileParser.Rows * 2) / 3);
    69       foreach (var variableName in dataset.DoubleVariables) {
    70         if (trainingIndizes.Count() >= 2 && dataset.GetDoubleValues(variableName, trainingIndizes).Range() > 0 &&
    71           variableName != targetVar)
    72           allowedInputVars.Add(variableName);
     69      if (trainingIndizes.Count() >= 2) {
     70        foreach (var variableName in dataset.DoubleVariables) {
     71          if (dataset.GetDoubleValues(variableName, trainingIndizes).Range() > 0 &&
     72            variableName != targetVar)
     73            allowedInputVars.Add(variableName);
     74        }
     75      } else {
     76        allowedInputVars.AddRange(dataset.DoubleVariables.Where(x => !x.Equals(targetVar)));
    7377      }
    7478
     
    8690    }
    8791
    88     protected override IRegressionProblemData ImportData(string path, DataAnalysisImportType type, TableFileParser csvFileParser) {
     92    protected override IRegressionProblemData ImportData(string path, RegressionImportType type, TableFileParser csvFileParser) {
    8993      List<IList> values = csvFileParser.Values;
    9094      if (type.Shuffle) {
     
    9296      }
    9397      Dataset dataset = new Dataset(csvFileParser.VariableNames, values);
    94       string targetVar = dataset.DoubleVariables.Last();
    9598
    9699      // turn of input variables that are constant in the training partition
     
    102105        foreach (var variableName in dataset.DoubleVariables) {
    103106          if (dataset.GetDoubleValues(variableName, trainingIndizes).Range() > 0 &&
    104             variableName != targetVar)
     107            variableName != type.TargetVariable)
    105108            allowedInputVars.Add(variableName);
    106109        }
    107110      } else {
    108         allowedInputVars.AddRange(dataset.DoubleVariables.Where(x => x.Equals(targetVar)));
     111        allowedInputVars.AddRange(dataset.DoubleVariables.Where(x => !x.Equals(type.TargetVariable)));
    109112      }
    110113
    111       RegressionProblemData regressionData = new RegressionProblemData(dataset, allowedInputVars, targetVar);
     114      RegressionProblemData regressionData = new RegressionProblemData(dataset, allowedInputVars, type.TargetVariable);
    112115
    113116      regressionData.TrainingPartition.Start = 0;
Note: See TracChangeset for help on using the changeset viewer.