Changeset 7183 for branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis.Views/3.4/InteractiveSymbolicTimeSeriesPrognosisSolutionSimplifierView.cs
- Timestamp:
- 12/13/11 13:52:22 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis.Views/3.4/InteractiveSymbolicTimeSeriesPrognosisSolutionSimplifierView.cs
r7154 r7183 57 57 protected override Dictionary<ISymbolicExpressionTreeNode, double> CalculateReplacementValues(ISymbolicExpressionTree tree) { 58 58 Dictionary<ISymbolicExpressionTreeNode, double> replacementValues = new Dictionary<ISymbolicExpressionTreeNode, double>(); 59 foreach (ISymbolicExpressionTreeNode node in tree.Root.GetSubtree(0).GetSubtree(0).IterateNodesPrefix()) { 60 replacementValues[node] = CalculateReplacementValue(node, tree); 61 } 59 foreach (var componentBranch in tree.Root.GetSubtree(0).Subtrees) 60 foreach (ISymbolicExpressionTreeNode node in componentBranch.IterateNodesPrefix()) { 61 replacementValues[node] = CalculateReplacementValue(node, tree); 62 } 62 63 return replacementValues; 63 64 } … … 72 73 .ToArray(); 73 74 int i = 0; 75 int nTargetVariables = Content.ProblemData.TargetVariables.Count(); 74 76 foreach (var targetVariable in Content.ProblemData.TargetVariables) { 75 77 List<ISymbolicExpressionTreeNode> nodes = tree.Root.GetSubtree(0).GetSubtree(i).IterateNodesPostfix().ToList(); 76 78 var targetValues = dataset.GetDoubleValues(targetVariable, rows); 77 79 OnlineCalculatorError errorState; 78 double originalR2 = OnlinePearsonsRSquaredCalculator.Calculate(targetValues, originalOutput.S elect(v => v.ElementAt(i)), out errorState);80 double originalR2 = OnlinePearsonsRSquaredCalculator.Calculate(targetValues, originalOutput.Skip(i).TakeEvery(nTargetVariables), out errorState); 79 81 if (errorState != OnlineCalculatorError.None) originalR2 = 0.0; 80 82 … … 85 87 SwitchNode(parent, node, replacementNode); 86 88 var newOutput = interpreter.GetSymbolicExpressionTreeValues(tree, dataset, Content.ProblemData.TargetVariables.ToArray(), rows, 1); 87 double newR2 = OnlinePearsonsRSquaredCalculator.Calculate(targetValues, newOutput.S elect(v => v.First().ElementAt(i)), out errorState);89 double newR2 = OnlinePearsonsRSquaredCalculator.Calculate(targetValues, newOutput.Skip(i).TakeEvery(nTargetVariables), out errorState); 88 90 if (errorState != OnlineCalculatorError.None) newR2 = 0.0; 89 91 … … 112 114 var rows = Content.ProblemData.TrainingIndizes; 113 115 var allPrognosedValues = interpreter.GetSymbolicExpressionTreeValues(tempTree, Content.ProblemData.Dataset, Content.ProblemData.TargetVariables.ToArray(), rows, 1); 114 115 return allPrognosedValues. Select(x=>x.First().First()).Median();116 117 return allPrognosedValues.Median(); 116 118 } 117 119
Note: See TracChangeset
for help on using the changeset viewer.