Changeset 13592
- Timestamp:
- 02/07/16 17:43:22 (9 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/GaussianProcessRegressionSolutionEstimatedValuesView.cs
r13439 r13592 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 } -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionEstimatedValuesView.cs
r13439 r13592 42 42 } 43 43 44 pr otectedStringConvertibleMatrixView matrixView;44 private StringConvertibleMatrixView matrixView; 45 45 46 46 public RegressionSolutionEstimatedValuesView() … … 67 67 } 68 68 69 pr ivatevoid Content_ProblemDataChanged(object sender, EventArgs e) {69 protected virtual void Content_ProblemDataChanged(object sender, EventArgs e) { 70 70 OnContentChanged(); 71 71 } 72 72 73 pr ivatevoid Content_ModelChanged(object sender, EventArgs e) {73 protected virtual void Content_ModelChanged(object sender, EventArgs e) { 74 74 OnContentChanged(); 75 75 } … … 80 80 } 81 81 82 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() { 83 118 if (InvokeRequired) Invoke((Action)UpdateEstimatedValues); 84 119 else { 85 120 StringMatrix matrix = null; 86 121 if (Content != null) { 87 string[,] values = new string[Content.ProblemData.Dataset.Rows, 7]; 88 89 double[] target = Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.TargetVariable).ToArray(); 90 var estimated = Content.EstimatedValues.GetEnumerator(); 91 var estimated_training = Content.EstimatedTrainingValues.GetEnumerator(); 92 var estimated_test = Content.EstimatedTestValues.GetEnumerator(); 93 94 foreach (var row in Content.ProblemData.TrainingIndices) { 95 estimated_training.MoveNext(); 96 values[row, 3] = estimated_training.Current.ToString(); 97 } 98 99 foreach (var row in Content.ProblemData.TestIndices) { 100 estimated_test.MoveNext(); 101 values[row, 4] = estimated_test.Current.ToString(); 102 } 103 104 foreach (var row in Enumerable.Range(0, Content.ProblemData.Dataset.Rows)) { 105 estimated.MoveNext(); 106 double est = estimated.Current; 107 double res = Math.Abs(est - target[row]); 108 values[row, 0] = row.ToString(); 109 values[row, 1] = target[row].ToString(); 110 values[row, 2] = est.ToString(); 111 values[row, 5] = Math.Abs(res).ToString(); 112 values[row, 6] = Math.Abs(res / target[row]).ToString(); 113 } 114 115 matrix = new StringMatrix(values); 116 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)" }; 117 matrix.SortableView = true; 122 matrix = CreateValueMatrix(); 118 123 } 119 124 matrixView.Content = matrix;
Note: See TracChangeset
for help on using the changeset viewer.