- Timestamp:
- 06/29/16 14:02:03 (8 years ago)
- Location:
- stable
- Files:
-
- 5 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:mergeinfo changed
/trunk/sources merged: 13439,13592
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Algorithms.DataAnalysis.Views
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views merged: 13439,13592
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/GaussianProcessRegressionSolutionEstimatedValuesView.cs
r13439 r13951 19 19 */ 20 20 #endregion 21 using System;22 21 using System.Linq; 23 22 using System.Windows.Forms; 24 23 using HeuristicLab.Data; 25 using HeuristicLab.Data.Views;26 24 using HeuristicLab.MainForm; 27 25 using HeuristicLab.Problems.DataAnalysis.Views; … … 31 29 [Content(typeof(GaussianProcessRegressionSolution), false)] 32 30 public partial class GaussianProcessRegressionSolutionEstimatedValuesView : RegressionSolutionEstimatedValuesView { 33 private const string TARGETVARIABLE_SERIES_NAME = "Target Variable";34 private const string ESTIMATEDVALUES_SERIES_NAME = "Estimated Values (all)";35 private const string ESTIMATEDVALUES_TRAINING_SERIES_NAME = "Estimated Values (training)";36 private const string ESTIMATEDVALUES_TEST_SERIES_NAME = "Estimated Values (test)";37 31 private const string ESTIMATEDVARIANCE_TRAINING_SERIES_NAME = "Estimated Variance (training)"; 38 32 private const string ESTIMATEDVARIANCE_TEST_SERIES_NAME = "Estimated Variance (test)"; … … 40 34 public new GaussianProcessRegressionSolution Content { 41 35 get { return (GaussianProcessRegressionSolution)base.Content; } 42 set { 43 base.Content = value; 44 } 36 set { base.Content = value; } 45 37 } 46 38 … … 50 42 } 51 43 52 #region events 53 protected override void RegisterContentEvents() { 54 base.RegisterContentEvents(); 55 Content.ModelChanged += new EventHandler(Content_ModelChanged); 56 Content.ProblemDataChanged += new EventHandler(Content_ProblemDataChanged); 44 45 protected override StringMatrix CreateValueMatrix() { 46 var matrix = base.CreateValueMatrix(); 47 48 var columnNames = matrix.ColumnNames.Concat(new[] { ESTIMATEDVARIANCE_TRAINING_SERIES_NAME, ESTIMATEDVARIANCE_TEST_SERIES_NAME }).ToList(); 49 ((IStringConvertibleMatrix)matrix).Columns += 2; 50 matrix.ColumnNames = columnNames; 51 52 var trainingRows = Content.ProblemData.TrainingIndices; 53 var testRows = Content.ProblemData.TestIndices; 54 55 var estimated_var_training = Content.GetEstimatedVariance(trainingRows).GetEnumerator(); 56 var estimated_var_test = Content.GetEstimatedVariance(testRows).GetEnumerator(); 57 58 foreach (var row in Content.ProblemData.TrainingIndices) { 59 estimated_var_training.MoveNext(); 60 matrix[row, 7] = estimated_var_training.Current.ToString(); 61 } 62 63 foreach (var row in Content.ProblemData.TestIndices) { 64 estimated_var_test.MoveNext(); 65 matrix[row, 8] = estimated_var_test.Current.ToString(); 66 } 67 68 69 return matrix; 57 70 } 58 59 protected override void DeregisterContentEvents() {60 base.DeregisterContentEvents();61 Content.ModelChanged -= new EventHandler(Content_ModelChanged);62 Content.ProblemDataChanged -= new EventHandler(Content_ProblemDataChanged);63 }64 65 private void Content_ProblemDataChanged(object sender, EventArgs e) {66 OnContentChanged();67 }68 69 private void Content_ModelChanged(object sender, EventArgs e) {70 OnContentChanged();71 }72 73 protected override void OnContentChanged() {74 base.OnContentChanged();75 UpdateEstimatedValues();76 }77 78 private void UpdateEstimatedValues() {79 if (InvokeRequired) Invoke((Action)UpdateEstimatedValues);80 else {81 StringMatrix matrix = null;82 if (Content != null) {83 string[,] values = new string[Content.ProblemData.Dataset.Rows, 9];84 85 var trainingRows = Content.ProblemData.TrainingIndices;86 var testRows = Content.ProblemData.TestIndices;87 88 double[] target = Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.TargetVariable).ToArray();89 var estimated = Content.EstimatedValues.GetEnumerator();90 var estimated_training = Content.EstimatedTrainingValues.GetEnumerator();91 var estimated_test = Content.EstimatedTestValues.GetEnumerator();92 var estimated_var_training = Content.GetEstimatedVariance(trainingRows).GetEnumerator();93 var estimated_var_test = Content.GetEstimatedVariance(testRows).GetEnumerator();94 95 foreach (var row in Content.ProblemData.TrainingIndices) {96 estimated_training.MoveNext();97 estimated_var_training.MoveNext();98 values[row, 3] = estimated_training.Current.ToString();99 values[row, 7] = estimated_var_training.Current.ToString();100 }101 102 foreach (var row in Content.ProblemData.TestIndices) {103 estimated_test.MoveNext();104 estimated_var_test.MoveNext();105 values[row, 4] = estimated_test.Current.ToString();106 values[row, 8] = estimated_var_test.Current.ToString();107 }108 109 foreach (var row in Enumerable.Range(0, Content.ProblemData.Dataset.Rows)) {110 estimated.MoveNext();111 double est = estimated.Current;112 double res = Math.Abs(est - target[row]);113 values[row, 0] = row.ToString();114 values[row, 1] = target[row].ToString();115 values[row, 2] = est.ToString();116 values[row, 5] = Math.Abs(res).ToString();117 values[row, 6] = Math.Abs(res / est).ToString();118 }119 120 matrix = new StringMatrix(values);121 matrix.ColumnNames = new string[] { "Id", TARGETVARIABLE_SERIES_NAME, ESTIMATEDVALUES_SERIES_NAME, ESTIMATEDVALUES_TRAINING_SERIES_NAME, ESTIMATEDVALUES_TEST_SERIES_NAME, "Absolute Error (all)", "Relative Error (all)", ESTIMATEDVARIANCE_TRAINING_SERIES_NAME, ESTIMATEDVARIANCE_TEST_SERIES_NAME };122 matrix.SortableView = true;123 }124 matrixView.Content = matrix;125 }126 }127 #endregion128 71 } 129 72 } -
stable/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/HeuristicLab.Algorithms.DataAnalysis.Views-3.4.csproj
r13298 r13951 125 125 </ItemGroup> 126 126 <ItemGroup> 127 <Compile Include="GaussianProcessRegressionSolutionEstimatedValuesView.cs"> 128 <SubType>UserControl</SubType> 129 </Compile> 130 <Compile Include="GaussianProcessRegressionSolutionEstimatedValuesView.Designer.cs"> 131 <DependentUpon>GaussianProcessRegressionSolutionEstimatedValuesView.cs</DependentUpon> 132 </Compile> 127 133 <Compile Include="MeanProdView.cs"> 128 134 <SubType>UserControl</SubType> -
stable/HeuristicLab.Problems.DataAnalysis.Views
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.DataAnalysis.Views merged: 13439,13592
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionEstimatedValuesView.cs
r12009 r13951 25 25 using HeuristicLab.Data.Views; 26 26 using HeuristicLab.MainForm; 27 using HeuristicLab.MainForm.WindowsForms;28 27 29 28 namespace HeuristicLab.Problems.DataAnalysis.Views { … … 68 67 } 69 68 70 pr ivatevoid Content_ProblemDataChanged(object sender, EventArgs e) {69 protected virtual void Content_ProblemDataChanged(object sender, EventArgs e) { 71 70 OnContentChanged(); 72 71 } 73 72 74 pr ivatevoid Content_ModelChanged(object sender, EventArgs e) {73 protected virtual void Content_ModelChanged(object sender, EventArgs e) { 75 74 OnContentChanged(); 76 75 } … … 81 80 } 82 81 83 private void UpdateEstimatedValues() { 82 protected virtual StringMatrix CreateValueMatrix() { 83 string[,] values = new string[Content.ProblemData.Dataset.Rows, 7]; 84 85 double[] target = Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.TargetVariable).ToArray(); 86 var estimated = Content.EstimatedValues.GetEnumerator(); 87 var estimated_training = Content.EstimatedTrainingValues.GetEnumerator(); 88 var estimated_test = Content.EstimatedTestValues.GetEnumerator(); 89 90 foreach (var row in Content.ProblemData.TrainingIndices) { 91 estimated_training.MoveNext(); 92 values[row, 3] = estimated_training.Current.ToString(); 93 } 94 95 foreach (var row in Content.ProblemData.TestIndices) { 96 estimated_test.MoveNext(); 97 values[row, 4] = estimated_test.Current.ToString(); 98 } 99 100 foreach (var row in Enumerable.Range(0, Content.ProblemData.Dataset.Rows)) { 101 estimated.MoveNext(); 102 double est = estimated.Current; 103 double res = Math.Abs(est - target[row]); 104 values[row, 0] = row.ToString(); 105 values[row, 1] = target[row].ToString(); 106 values[row, 2] = est.ToString(); 107 values[row, 5] = Math.Abs(res).ToString(); 108 values[row, 6] = Math.Abs(res / target[row]).ToString(); 109 } 110 111 var matrix = new StringMatrix(values); 112 matrix.ColumnNames = new string[] { "Id", TARGETVARIABLE_SERIES_NAME, ESTIMATEDVALUES_SERIES_NAME, ESTIMATEDVALUES_TRAINING_SERIES_NAME, ESTIMATEDVALUES_TEST_SERIES_NAME, "Absolute Error (all)", "Relative Error (all)" }; 113 matrix.SortableView = true; 114 return matrix; 115 } 116 117 protected virtual void UpdateEstimatedValues() { 84 118 if (InvokeRequired) Invoke((Action)UpdateEstimatedValues); 85 119 else { 86 120 StringMatrix matrix = null; 87 121 if (Content != null) { 88 string[,] values = new string[Content.ProblemData.Dataset.Rows, 7]; 89 90 double[] target = Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.TargetVariable).ToArray(); 91 var estimated = Content.EstimatedValues.GetEnumerator(); 92 var estimated_training = Content.EstimatedTrainingValues.GetEnumerator(); 93 var estimated_test = Content.EstimatedTestValues.GetEnumerator(); 94 95 foreach (var row in Content.ProblemData.TrainingIndices) { 96 estimated_training.MoveNext(); 97 values[row, 3] = estimated_training.Current.ToString(); 98 } 99 100 foreach (var row in Content.ProblemData.TestIndices) { 101 estimated_test.MoveNext(); 102 values[row, 4] = estimated_test.Current.ToString(); 103 } 104 105 foreach (var row in Enumerable.Range(0, Content.ProblemData.Dataset.Rows)) { 106 estimated.MoveNext(); 107 double est = estimated.Current; 108 double res = Math.Abs(est - target[row]); 109 values[row, 0] = row.ToString(); 110 values[row, 1] = target[row].ToString(); 111 values[row, 2] = est.ToString(); 112 values[row, 5] = Math.Abs(res).ToString(); 113 values[row, 6] = Math.Abs(res / target[row]).ToString(); 114 } 115 116 matrix = new StringMatrix(values); 117 matrix.ColumnNames = new string[] { "Id", TARGETVARIABLE_SERIES_NAME, ESTIMATEDVALUES_SERIES_NAME, ESTIMATEDVALUES_TRAINING_SERIES_NAME, ESTIMATEDVALUES_TEST_SERIES_NAME, "Absolute Error (all)", "Relative Error (all)" }; 118 matrix.SortableView = true; 122 matrix = CreateValueMatrix(); 119 123 } 120 124 matrixView.Content = matrix;
Note: See TracChangeset
for help on using the changeset viewer.