Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/23/11 16:13:43 (13 years ago)
Author:
gkronber
Message:

#1450 Implemented changes in estimated values views for regression and classification solutions specific to ensemble solutions.

File:
1 edited

Legend:

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

    r6238 r6255  
    2727using HeuristicLab.MainForm;
    2828using HeuristicLab.MainForm.WindowsForms;
     29using System.Globalization;
    2930
    3031namespace HeuristicLab.Problems.DataAnalysis.Views {
     
    3334  public partial class RegressionSolutionEstimatedValuesView : ItemView, IRegressionSolutionEvaluationView {
    3435    private const string TARGETVARIABLE_SERIES_NAME = "Target Variable";
     36    private const string ESTIMATEDVALUES_SERIES_NAME = "Estimated Values (all)";
    3537    private const string ESTIMATEDVALUES_TRAINING_SERIES_NAME = "Estimated Values (training)";
    3638    private const string ESTIMATEDVALUES_TEST_SERIES_NAME = "Estimated Values (test)";
     
    8486      if (InvokeRequired) Invoke((Action)UpdateEstimatedValues);
    8587      else {
    86         DoubleMatrix matrix = null;
     88        StringMatrix matrix = null;
    8789        if (Content != null) {
    88           double[,] values = new double[Content.ProblemData.Dataset.Rows, 5];
    89           // initialize to double.NaN
    90           for (int row = 0; row < Content.ProblemData.Dataset.Rows; row++)
    91             for (int column = 0; column < 5; column++)
    92               values[row, column] = double.NaN;
     90          string[,] values = new string[Content.ProblemData.Dataset.Rows, 7];
    9391
    9492          double[] target = Content.ProblemData.Dataset.GetVariableValues(Content.ProblemData.TargetVariable);
     93          var estimated = Content.EstimatedValues.GetEnumerator();
    9594          var estimated_training = Content.EstimatedTrainingValues.GetEnumerator();
    9695          var estimated_test = Content.EstimatedTestValues.GetEnumerator();
     
    9897          foreach (var row in Content.ProblemData.TrainingIndizes) {
    9998            estimated_training.MoveNext();
    100             values[row, 1] = estimated_training.Current;
     99            values[row, 3] = estimated_training.Current.ToString();
    101100          }
    102101
    103102          foreach (var row in Content.ProblemData.TestIndizes) {
    104103            estimated_test.MoveNext();
    105             values[row, 2] = estimated_test.Current;
     104            values[row, 4] = estimated_test.Current.ToString();
    106105          }
    107106
    108           for (int row = 0; row < target.Length; row++) {
    109             values[row, 0] = target[row];
    110             double est = values[row, 1];
    111             if (!double.IsNaN(est)) {
    112               values[row, 3] = Math.Abs(est - target[row]);
    113               values[row, 4] = Math.Abs(values[row, 3] / target[row]);
    114             }
     107          foreach (var row in Enumerable.Range(0, Content.ProblemData.Dataset.Rows)) {
     108            estimated.MoveNext();
     109            double est = estimated.Current;
     110            double res = Math.Abs(est - target[row]);
     111            values[row, 0] = row.ToString();
     112            values[row, 1] = target[row].ToString();
     113            values[row, 2] = est.ToString();
     114            values[row, 5] = Math.Abs(res).ToString();
     115            values[row, 6] = Math.Abs(res / est).ToString();
    115116          }
    116117
    117           matrix = new DoubleMatrix(values);
    118           matrix.ColumnNames = new string[] { TARGETVARIABLE_SERIES_NAME, ESTIMATEDVALUES_TRAINING_SERIES_NAME, ESTIMATEDVALUES_TEST_SERIES_NAME, "Absolute Error (training)", "Relative Error (training)" };
     118          matrix = new StringMatrix(values);
     119          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)" };
     120          matrix.SortableView = true;
    119121        }
    120122        matrixView.Content = matrix;
Note: See TracChangeset for help on using the changeset viewer.