Changeset 15094
- Timestamp:
- 06/29/17 16:07:16 (7 years ago)
- Location:
- trunk/sources
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionResidualAnalysisView.cs
r15088 r15094 91 91 var doubleVars = ds.DoubleVariables.Where(vn => ds.GetDoubleValues(vn).Max() > ds.GetDoubleValues(vn).Min()).ToArray(); 92 92 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(); 93 94 94 95 // produce training and test values separately as they might overlap (e.g. for ensembles) … … 96 97 int j = 0; // idx for predictedValues array 97 98 foreach (var i in problemData.TrainingIndices) { 98 var run = CreateRunForIdx(i, problemData, doubleVars, stringVars );99 var run = CreateRunForIdx(i, problemData, doubleVars, stringVars, dateTimeVars); 99 100 var targetValue = ds.GetDoubleValue(problemData.TargetVariable, i); 100 101 AddErrors(run, predictedValuesTrain[j++], targetValue); … … 106 107 j = 0; 107 108 foreach (var i in problemData.TestIndices) { 108 var run = CreateRunForIdx(i, problemData, doubleVars, stringVars );109 var run = CreateRunForIdx(i, problemData, doubleVars, stringVars, dateTimeVars); 109 110 var targetValue = ds.GetDoubleValue(problemData.TargetVariable, i); 110 111 AddErrors(run, predictedValuesTest[j++], targetValue); … … 134 135 } 135 136 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) { 137 138 var ds = problemData.Dataset; 138 139 var run = new Run(); … … 143 144 run.Results.Add(variableName, new StringValue(ds.GetStringValue(variableName, i))); 144 145 } 146 foreach (var variableName in dateTimeVars) { 147 run.Results.Add(variableName, new DateTimeValue(ds.GetDateTimeValue(variableName, i))); 148 } 145 149 return run; 146 150 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.4/Dataset.cs
r15015 r15094 181 181 } 182 182 183 public IEnumerable<string> DateTimeVariables { 184 get { return variableValues.Where(p => p.Value is IList<DateTime>).Select(p => p.Key); } 185 } 186 183 187 public IEnumerable<double> GetDoubleValues(string variableName) { 184 188 return GetValues<double>(variableName); … … 215 219 return new ReadOnlyCollection<string>(values); 216 220 } 221 222 public DateTime GetDateTimeValue(string variableName, int row) { 223 var values = GetValues<DateTime>(variableName); 224 return values[row]; 225 } 226 public IEnumerable<DateTime> GetDateTimeValues(string variableName, IEnumerable<int> rows) { 227 return GetValues<DateTime>(variableName, rows); 228 } 229 public ReadOnlyCollection<DateTime> GetReadOnlyDateTimeValues(string variableName) { 230 var values = GetValues<DateTime>(variableName); 231 return new ReadOnlyCollection<DateTime>(values); 232 } 233 217 234 218 235 private IEnumerable<T> GetValues<T>(string variableName, IEnumerable<int> rows) { -
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataset.cs
r14826 r15094 31 31 IEnumerable<string> DoubleVariables { get; } 32 32 IEnumerable<string> StringVariables { get; } 33 IEnumerable<string> DateTimeVariables { get; } 33 34 34 35 bool VariableHasType<T>(string variableName); … … 44 45 ReadOnlyCollection<string> GetReadOnlyStringValues(string VariableName); 45 46 47 System.DateTime GetDateTimeValue(string variableName, int row); 46 48 IEnumerable<DateTime> GetDateTimeValues(string variableName); 49 IEnumerable<DateTime> GetDateTimeValues(string variableName, IEnumerable<int> rows); 50 ReadOnlyCollection<DateTime> GetReadOnlyDateTimeValues(string variableName); 47 51 } 48 52 }
Note: See TracChangeset
for help on using the changeset viewer.