Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/09/13 16:27:12 (12 years ago)
Author:
sforsten
Message:

#1998:

  • OneR handles missing values separately
  • adapted OneRClassificationModelView to show the class of missing values
  • with a double-click on the row header in ClassificationSolutionComparisonView the selected solution opens in a new view
  • put a try catch block around linear discriminant analysis solution (it is only shown, if it doesn't throw an exception)
Location:
branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationSolutionComparisonView.Designer.cs

    r9119 r9135  
    6060      this.dataGridView.Size = new System.Drawing.Size(418, 257);
    6161      this.dataGridView.TabIndex = 0;
     62      this.dataGridView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridView_MouseDoubleClick);
    6263      //
    6364      // ClassificationSolutionComparisonView
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationSolutionComparisonView.cs

    r9119 r9135  
    3333  [Content(typeof(IClassificationSolution))]
    3434  public partial class ClassificationSolutionComparisonView : DataAnalysisSolutionEvaluationView {
     35    private List<IClassificationSolution> solutions;
     36
    3537    public ClassificationSolutionComparisonView() {
    3638      InitializeComponent();
     
    7577          dataGridView.Rows.Clear();
    7678          dataGridView.Columns.Clear();
     79          solutions.Clear();
    7780        } else {
    7881
    7982          IClassificationProblemData problemData = Content.ProblemData;
    8083          Dataset dataset = problemData.Dataset;
    81           List<IClassificationSolution> solutions = new List<IClassificationSolution>() { Content };
     84          solutions = new List<IClassificationSolution>() { Content };
    8285          solutions.AddRange(GenerateClassificationSolutions(problemData));
    8386
     
    126129
    127130    private IEnumerable<IClassificationSolution> GenerateClassificationSolutions(IClassificationProblemData problemData) {
     131      var solutions = new List<IClassificationSolution>();
    128132      var zeroR = ZeroR.CreateZeroRSolution(problemData);
    129133      zeroR.Name = "0R Classification Solution";
     134      solutions.Add(zeroR);
    130135      var oneR = OneR.CreateOneRSolution(problemData, 6, new FastRandom());
    131136      oneR.Name = "1R Classification Solution";
    132       var lda = LinearDiscriminantAnalysis.CreateLinearDiscriminantAnalysisSolution(problemData);
    133       lda.Name = "Linear Discriminant Analysis Solution";
    134       return new List<IClassificationSolution>() { zeroR, oneR, lda };
     137      solutions.Add(oneR);
     138      try {
     139        var lda = LinearDiscriminantAnalysis.CreateLinearDiscriminantAnalysisSolution(problemData);
     140        lda.Name = "Linear Discriminant Analysis Solution";
     141        solutions.Add(lda);
     142      }
     143      catch (NotSupportedException) { }
     144      catch (ArgumentException) { }
     145      return solutions;
     146    }
     147
     148    private void dataGridView_MouseDoubleClick(object sender, MouseEventArgs e) {
     149      var hittestinfo = dataGridView.HitTest(e.X, e.Y);
     150      if (hittestinfo.Type != DataGridViewHitTestType.RowHeader) { return; }
     151      if (hittestinfo.RowIndex > solutions.Count) { return; }
     152
     153      MainFormManager.MainForm.ShowContent(solutions[hittestinfo.RowIndex]);
    135154    }
    136155  }
Note: See TracChangeset for help on using the changeset viewer.