Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/21/18 10:27:55 (5 years ago)
Author:
chaider
Message:

#2956:

  • Updated value visualization of simplifier tooltip
  • Added VariableRanges field to dataset
  • Added overloads for GetSymbolicExressionTreeIntervals
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2956_apriori_knowledge/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs

    r16303 r16313  
    3434using HeuristicLab.MainForm;
    3535using HeuristicLab.MainForm.WindowsForms;
     36using System.Globalization;
    3637
    3738namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
     
    193194      var interpreter = new SymbolicDataAnalysisIntervalArithmeticInterpreter();
    194195
    195       //var intervalParam = ((IRegressionProblemData)Content.ProblemData).IntervalVariable;
     196      //Get the Variable Ranges and add it to the dictionary
     197      var intervalParameters = ((IRegressionProblemData)Content.ProblemData).VariableRanges;
    196198      var customIntervals = new Dictionary<String, Interval>();
    197       var parser = new FormulationParser();
    198       //foreach (var ci in intervalParam) {
    199       //var inter = parser.Parse(ci.Formulation.GetValue());
    200       //customIntervals.Add(ci.Variable.GetValue(), new Interval(0, 1));
    201       //}
    202       var resultInterval = interpreter.GetSymbolicExressionTreeIntervals(tree, Content.ProblemData.Dataset, Content.ProblemData.TrainingIndices, out intervals);
     199      for (int x = 0; x < intervalParameters.Rows; ++x) {
     200        customIntervals.Add(intervalParameters.RowNames.ElementAt(x),
     201                            new Interval(intervalParameters.GetRow(x).ElementAt(0),
     202                                         intervalParameters.GetRow(x).ElementAt(1)));
     203      }
     204
     205      var resultInterval = interpreter.GetSymbolicExressionTreeIntervals(tree, Content.ProblemData.Dataset, Content.ProblemData.TrainingIndices, customIntervals, out intervals);
    203206      await Task.Delay(500); // wait for progressbar to finish animation
    204207      var replacementValues = impactAndReplacementValues.ToDictionary(x => x.Key, x => x.Value.Item2);
     
    206209        foldedNodes[pair.Key] = MakeConstantTreeNode(pair.Value);
    207210      }
    208       //Instruction currentInstr = instructions.NextInstruction();
    209       //while (instructions.HasNextInstruction()) {
    210       //  //intervals[currentInstr.dynamicNode] = (Interval)currentInstr.data;
    211       //  intervals.Add(Tuple.Create(currentInstr.dynamicNode, (Interval)currentInstr.data));
    212       //  currentInstr = instructions.NextInstruction();
    213       //}
    214      
    215      
    216 
    217       //intervals.Add(Tuple.Create(currentInstr.dynamicNode, (Interval)currentInstr.data));
     211
    218212      nodeImpacts = impactAndReplacementValues.ToDictionary(x => x.Key, x => x.Value.Item1);
    219213      progress.Finish();
    220214      PaintIntervals();
    221       //PaintNodeImpacts();
    222215    }
    223216
     
    291284        if (visualTree != null) {
    292285          visualTree.ToolTip = visualTree.Content.ToString();
    293           //visualTree.ToolTip += String.Format($"{Environment.NewLine}Intervals: [{intervals[node].Item2.LowerBound:E4} ... {intervals[node].Item2.UpperBound:E4}]{Environment.NewLine}");
    294           visualTree.ToolTip += String.Format($"{Environment.NewLine}Intervals: [{intervals[treeNode].LowerBound:E4} ... {intervals[treeNode].UpperBound:E4}]{Environment.NewLine}]");
     286          visualTree.ToolTip += String.Format($"{Environment.NewLine}Intervals: [{intervals[treeNode].LowerBound:G5} ... {intervals[treeNode].UpperBound:G5}]{Environment.NewLine}");
    295287          node++;
    296288         
     
    309301              visualTree.FillColor = Color.FromArgb((int)(impact / max * 255), Color.Green);
    310302            }
    311             visualTree.ToolTip += String.Format($"{Environment.NewLine} Node impact: {impact:E4}");
     303            visualTree.ToolTip += String.Format($"Node impact: {impact:G5}");
    312304            var constantReplacementNode = foldedNodes[treeNode] as ConstantTreeNode;
    313305            if (constantReplacementNode != null) {
    314               visualTree.ToolTip += String.Format($"{Environment.NewLine} Replacement value: {constantReplacementNode.Value:E4}");
     306              visualTree.ToolTip += String.Format($"{Environment.NewLine}Replacement value: {constantReplacementNode.Value:G5}");
    315307            }
    316308          }
Note: See TracChangeset for help on using the changeset viewer.