Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/29/17 16:07:16 (7 years ago)
Author:
mkommend
Message:

#2779: Implemented necessary methods in the Dataset and ResidualAnalysisView to handle dates correctly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionResidualAnalysisView.cs

    r15088 r15094  
    9191      var doubleVars = ds.DoubleVariables.Where(vn => ds.GetDoubleValues(vn).Max() > ds.GetDoubleValues(vn).Min()).ToArray();
    9292      var stringVars = ds.StringVariables.Where(vn => ds.GetStringValues(vn).Distinct().Skip(1).Any()).ToArray();
     93      var dateTimeVars = ds.DateTimeVariables.Where(vn => ds.GetDateTimeValues(vn).Distinct().Skip(1).Any()).ToArray();
    9394
    9495      // produce training and test values separately as they might overlap (e.g. for ensembles)
     
    9697      int j = 0; // idx for predictedValues array
    9798      foreach (var i in problemData.TrainingIndices) {
    98         var run = CreateRunForIdx(i, problemData, doubleVars, stringVars);
     99        var run = CreateRunForIdx(i, problemData, doubleVars, stringVars, dateTimeVars);
    99100        var targetValue = ds.GetDoubleValue(problemData.TargetVariable, i);
    100101        AddErrors(run, predictedValuesTrain[j++], targetValue);
     
    106107      j = 0;
    107108      foreach (var i in problemData.TestIndices) {
    108         var run = CreateRunForIdx(i, problemData, doubleVars, stringVars);
     109        var run = CreateRunForIdx(i, problemData, doubleVars, stringVars, dateTimeVars);
    109110        var targetValue = ds.GetDoubleValue(problemData.TargetVariable, i);
    110111        AddErrors(run, predictedValuesTest[j++], targetValue);
     
    134135    }
    135136
    136     private IRun CreateRunForIdx(int i, IRegressionProblemData problemData, IEnumerable<string> doubleVars, IEnumerable<string> stringVars) {
     137    private IRun CreateRunForIdx(int i, IRegressionProblemData problemData, IEnumerable<string> doubleVars, IEnumerable<string> stringVars, IEnumerable<string> dateTimeVars) {
    137138      var ds = problemData.Dataset;
    138139      var run = new Run();
     
    143144        run.Results.Add(variableName, new StringValue(ds.GetStringValue(variableName, i)));
    144145      }
     146      foreach (var variableName in dateTimeVars) {
     147        run.Results.Add(variableName, new DateTimeValue(ds.GetDateTimeValue(variableName, i)));
     148      }
    145149      return run;
    146150    }
Note: See TracChangeset for help on using the changeset viewer.