Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/03/14 16:21:07 (10 years ago)
Author:
bburlacu
Message:

#1837: Performance and usability improvements.

Location:
branches/Sliding Window GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/Sliding Window GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/SlidingWindowBestSolutionsCollectionHeatMapView.Designer.cs

    r10688 r10721  
    1919 */
    2020#endregion
     21
     22using System.Windows.Forms;
    2123
    2224namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
     
    7678      this.comboBox1.Text = "Pearson R2";
    7779      this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
     80      this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
    7881      //
    7982      // label1
  • branches/Sliding Window GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/SlidingWindowBestSolutionsCollectionHeatMapView.cs

    r10720 r10721  
    4242      base.OnContentChanged();
    4343      if (Content != null) {
     44        // set the dropdown value to the correct value
     45        switch (Content.QualityMeasure) {
     46          case SlidingWindowBestSolutionsCollection.QualityMeasures.PEARSON:
     47            comboBox1.SelectedIndex = comboBox1.Items.IndexOf("Pearson R2");
     48            break;
     49          case SlidingWindowBestSolutionsCollection.QualityMeasures.MSE:
     50            comboBox1.SelectedIndex = comboBox1.Items.IndexOf("Mean Squared Error");
     51            break;
     52        }
    4453        if (Content.SlidingWindowQualities != null) {
    4554          SetHeatmapContent(Content.SlidingWindowQualities);
    4655        } else if (!Content.QualitiesCalculationInProgress) {
    47           progress.Start("Calculating best solution qualities...");
    4856          Content.CalculateQualities();
    4957        }
     
    6472      Content.QualitiesCalculationProgress -= bestSolutionCollectionQualitiesCalculationProgress;
    6573      Content.QualitiesUpdated -= bestSolutionCollectionQualitiesUpdated;
     74      Content.QualitiesCalculationStarted -= bestSolutionsCollectionQualtiesCalculationStarted;
    6675      base.DeregisterContentEvents();
    6776    }
     
    7382      Content.QualitiesCalculationProgress += bestSolutionCollectionQualitiesCalculationProgress;
    7483      Content.QualitiesUpdated += bestSolutionCollectionQualitiesUpdated;
     84      Content.QualitiesCalculationStarted += bestSolutionsCollectionQualtiesCalculationStarted;
    7585    }
    7686
     
    90100    private void SetHeatmapContent(double[,] values) {
    91101      double min = 0, max = 0;
    92       foreach (var q in values) {
    93         if (min > q) min = q;
    94         if (max < q) max = q;
     102      if (Content.QualityMeasure == SlidingWindowBestSolutionsCollection.QualityMeasures.PEARSON) {
     103        max = 1.0;
     104      } else {
     105        foreach (var q in values) {
     106          if (min > q) min = q;
     107          if (max < q) max = q;
     108        }
    95109      }
    96110      int rows = values.GetLength(0);
     
    103117      }
    104118      heatMapView.Content = new HeatMap(flipped, "Best Sliding Window Solutions", min, max);
     119    }
     120
     121    private void bestSolutionsCollectionQualtiesCalculationStarted(object sender, EventArgs e) {
     122      progress.Start("Calculating best solutions qualities...");
    105123    }
    106124
  • branches/Sliding Window GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/SlidingWindowBestSolutionsCollectionView.Designer.cs

    r10688 r10721  
    1919 */
    2020#endregion
     21
     22using System.Windows.Forms;
    2123
    2224namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
     
    8082      this.comboBox1.Text = "Pearson R2";
    8183      this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
     84      this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
    8285      //
    8386      // label1
  • branches/Sliding Window GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/SlidingWindowBestSolutionsCollectionView.cs

    r10720 r10721  
    4343      base.OnContentChanged();
    4444      if (Content != null) {
     45        switch (Content.QualityMeasure) {
     46          case SlidingWindowBestSolutionsCollection.QualityMeasures.PEARSON:
     47            comboBox1.SelectedIndex = comboBox1.Items.IndexOf("Pearson R2");
     48            break;
     49          case SlidingWindowBestSolutionsCollection.QualityMeasures.MSE:
     50            comboBox1.SelectedIndex = comboBox1.Items.IndexOf("Mean Squared Error");
     51            break;
     52        }
    4553        if (Content.SlidingWindowQualities != null) {
    4654          SetMatrixContent(Content.SlidingWindowQualities);
    4755        } else if (!Content.QualitiesCalculationInProgress) {
    48           progress.Start("Calculating best solution qualities...");
    4956          Content.CalculateQualities();
    5057        }
     
    6067      Content.QualitiesCalculationProgress -= bestSolutionCollectionQualitiesCalculationProgress;
    6168      Content.QualitiesUpdated -= bestSolutionCollectionQualitiesUpdated;
     69      Content.QualitiesCalculationStarted -= bestSolutionsCollectionQualtiesCalculationStarted;
    6270      base.DeregisterContentEvents();
    6371    }
     
    7078      Content.QualitiesCalculationProgress += bestSolutionCollectionQualitiesCalculationProgress;
    7179      Content.QualitiesUpdated += bestSolutionCollectionQualitiesUpdated;
     80      Content.QualitiesCalculationStarted += bestSolutionsCollectionQualtiesCalculationStarted;
    7281    }
    7382
     
    7988
    8089    #region Event Handlers (Content)
     90    private void bestSolutionsCollectionQualtiesCalculationStarted(object sender, EventArgs e) {
     91      progress.Start("Calculating best solutions qualities...");
     92    }
     93
    8194    private void bestSolutionsCollectionQualitiesCalculated(object sender, RunWorkerCompletedEventArgs e) {
    8295      if (e.Cancelled || e.Error != null) {
     
    87100      SetMatrixContent(Content.SlidingWindowQualities);
    88101      progress.Finish();
    89     }
    90 
    91     private void SetMatrixContent(double[,] values) {
    92       var qualitiesMap = new DoubleMatrix(values); // add an extra columns for the training data
    93       qualitiesMap.ColumnNames = Enumerable.Range(0, qualitiesMap.Columns - 1).Select(x => Content.SlidingWindowRanges[x].Start + " - " + Content.SlidingWindowRanges[x].End).Concat(new List<string> { "Training" });
    94       qualitiesMap.RowNames = Enumerable.Range(1, qualitiesMap.Rows).Select(x => "M" + x);
    95 
    96       double min = 0, max = 0;
    97       foreach (var q in qualitiesMap) {
    98         if (min > q) min = q;
    99         if (max < q) max = q;
    100       }
    101 
    102       enhancedStringConvertibleMatrixView.Minimum = min;
    103       enhancedStringConvertibleMatrixView.Maximum = max;
    104       enhancedStringConvertibleMatrixView.Content = qualitiesMap;
    105102    }
    106103
     
    117114      base.SetEnabledStateOfControls();
    118115      // TODO: Enable or disable controls based on whether the content is null or the view is set readonly
     116    }
     117
     118    private void SetMatrixContent(double[,] values) {
     119      var qualitiesMap = new DoubleMatrix(values); // add an extra columns for the training data
     120      qualitiesMap.ColumnNames = Enumerable.Range(0, qualitiesMap.Columns - 1).Select(x => Content.SlidingWindowRanges[x].Start + " - " + Content.SlidingWindowRanges[x].End).Concat(new List<string> { "Training" });
     121      qualitiesMap.RowNames = Enumerable.Range(1, qualitiesMap.Rows).Select(x => "M" + x);
     122      double min = 0, max = 0;
     123      if (Content.QualityMeasure == SlidingWindowBestSolutionsCollection.QualityMeasures.PEARSON) {
     124        max = 1.0;
     125      } else {
     126        foreach (var q in qualitiesMap) {
     127          if (min > q) min = q;
     128          if (max < q) max = q;
     129        }
     130      }
     131
     132      enhancedStringConvertibleMatrixView.Minimum = min;
     133      enhancedStringConvertibleMatrixView.Maximum = max;
     134      enhancedStringConvertibleMatrixView.Content = qualitiesMap;
    119135    }
    120136
Note: See TracChangeset for help on using the changeset viewer.