Changeset 7989 for branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Views/3.4/TimeSeriesPrognosis/TimeSeriesPrognosisSolutionPrognosedValuesView.cs
- Timestamp:
- 06/12/12 10:31:56 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Views/3.4/TimeSeriesPrognosis/TimeSeriesPrognosisSolutionPrognosedValuesView.cs
r7154 r7989 82 82 83 83 private void UpdateEstimatedValues() { 84 if (InvokeRequired) Invoke((Action)UpdateEstimatedValues); 85 else { 86 StringMatrix matrix = null; 87 List<string> columnNames = new List<string>(); 88 if (Content != null) { 89 columnNames.Add("Id"); 84 if (InvokeRequired) { 85 Invoke((Action)UpdateEstimatedValues); 86 return; 87 } 88 if (Content == null) return; 90 89 91 string[,] values = new string[Content.ProblemData.Dataset.Rows, 1 + 3 * Content.ProblemData.TargetVariables.Count()]; 92 foreach (var row in Enumerable.Range(0, Content.ProblemData.Dataset.Rows)) 93 values[row, 0] = row.ToString(); 90 var targetVariable = Content.ProblemData.TargetVariable; 91 StringMatrix matrix = null; 92 List<string> columnNames = new List<string>(); 93 columnNames.Add("Id"); 94 94 95 var allPrognosedTraining = Content.PrognosedTrainingValues.SelectMany(x=>x).ToArray(); 96 var allPrognosedTest = Content.PrognosedTestValues.SelectMany(x => x).ToArray(); 97 98 int i = 0; 99 int targetVariableIndex = 0; 100 foreach (var targetVariable in Content.ProblemData.TargetVariables) { 101 var prognosedTraining = 102 allPrognosedTraining.Skip(targetVariableIndex).TakeEvery(Content.ProblemData.TargetVariables.Count()); 103 var prognosedTest = 104 allPrognosedTest.Skip(targetVariableIndex).TakeEvery(Content.ProblemData.TargetVariables.Count()); 105 106 double[] target = Content.ProblemData.Dataset.GetDoubleValues(targetVariable).ToArray(); 107 108 var prognosedTrainingEnumerator = prognosedTraining.GetEnumerator(); 109 foreach (var row in Content.ProblemData.TrainingIndizes) { 110 prognosedTrainingEnumerator.MoveNext(); 111 values[row, i + 2] = prognosedTrainingEnumerator.Current.ToString(); 112 } 113 114 var prognosedTestEnumerator = prognosedTest.GetEnumerator(); 115 foreach (var row in Content.ProblemData.TestIndizes) { 116 prognosedTestEnumerator.MoveNext(); 117 values[row, i + 3] = prognosedTestEnumerator.Current.ToString(); 118 } 119 120 foreach (var row in Enumerable.Range(0, Content.ProblemData.Dataset.Rows)) { 121 values[row, i + 1] = target[row].ToString(); 122 } 123 124 columnNames.AddRange(new string[] { targetVariable + "(actual)", targetVariable + "(training)", targetVariable + "(test)" }); 125 i += 3; 126 targetVariableIndex++; 127 } // foreach 95 string[,] values = new string[Content.ProblemData.Dataset.Rows, 4]; 96 var prognosedTraining = Content.GetPrognosedValues(Content.ProblemData.TrainingIndizes.Take(1), Content.ProblemData.TrainingPartition.Size).First(); 97 var prognosedTest = Content.GetPrognosedValues(Content.ProblemData.TrainingIndizes.Take(1), Content.ProblemData.TestPartition.Size).First(); 98 double[] target = Content.ProblemData.Dataset.GetDoubleValues(targetVariable).ToArray(); 128 99 129 100 130 matrix = new StringMatrix(values); 131 matrix.ColumnNames = columnNames.ToArray(); 132 matrix.SortableView = true; 101 foreach (var row in Enumerable.Range(0, Content.ProblemData.Dataset.Rows)) { 102 values[row, 0] = row.ToString(); 103 values[row, 1] = target[row].ToString(); 104 } 133 105 134 } // if 135 matrixView.Content = matrix; 106 var rowsEnumerator = Content.ProblemData.TrainingIndizes.GetEnumerator(); 107 var prognosisEnumerator = prognosedTraining.GetEnumerator(); 108 while (rowsEnumerator.MoveNext() & prognosisEnumerator.MoveNext()) { 109 var row = rowsEnumerator.Current; 110 var prognosis = prognosisEnumerator.Current; 111 values[row, 2] = prognosis.ToString(); 136 112 } 113 114 rowsEnumerator = Content.ProblemData.TestIndizes.GetEnumerator(); 115 prognosisEnumerator = prognosedTest.GetEnumerator(); 116 while (rowsEnumerator.MoveNext() & prognosisEnumerator.MoveNext()) { 117 var row = rowsEnumerator.Current; 118 var prognosis = prognosisEnumerator.Current; 119 values[row, 3] = prognosis.ToString(); 120 } 121 122 columnNames.AddRange(new string[] { targetVariable + "(actual)", targetVariable + "(training)", targetVariable + "(test)" }); 123 matrix = new StringMatrix(values); 124 matrix.ColumnNames = columnNames.ToArray(); 125 matrix.SortableView = true; 137 126 } 138 127 #endregion
Note: See TracChangeset
for help on using the changeset viewer.