Changeset 16723 for branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisSolutionImpactValuesCalculator.cs
- Timestamp:
- 03/28/19 16:54:20 (5 years ago)
- Location:
- branches/2521_ProblemRefactoring
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisSolutionImpactValuesCalculator.cs
r16692 r16723 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 8Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 25 25 using HeuristicLab.Core; 26 26 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 27 using H euristicLab.Persistence.Default.CompositeSerializers.Storable;27 using HEAL.Attic; 28 28 29 29 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { 30 [Storable Class]30 [StorableType("E725708A-508E-47DC-B667-DAA569FD1DC2")] 31 31 [Item("SymbolicDataAnalysisSolutionImpactValuesCalculator", "Calculates the impact values and replacements values for symbolic expression tree nodes.")] 32 32 public abstract class SymbolicDataAnalysisSolutionImpactValuesCalculator : Item, ISymbolicDataAnalysisSolutionImpactValuesCalculator { … … 35 35 : base(original, cloner) { } 36 36 [StorableConstructor] 37 protected SymbolicDataAnalysisSolutionImpactValuesCalculator( bool deserializing) : base(deserializing) { }37 protected SymbolicDataAnalysisSolutionImpactValuesCalculator(StorableConstructorFlag _) : base(_) { } 38 38 39 39 public virtual void CalculateImpactAndReplacementValues(ISymbolicDataAnalysisModel model, ISymbolicExpressionTreeNode node, IDataAnalysisProblemData problemData, IEnumerable<int> rows, 40 40 out double impactValue, out double replacementValue, out double newQualityForImpactsCalculation, 41 41 double qualityForImpactsCalculation = double.NaN) { 42 if (double.IsNaN(qualityForImpactsCalculation))43 qualityForImpactsCalculation = CalculateQualityForImpacts(model, problemData, rows);44 42 45 43 var cloner = new Cloner(); 46 44 var tempModel = cloner.Clone(model); 45 46 if (double.IsNaN(qualityForImpactsCalculation)) { 47 qualityForImpactsCalculation = CalculateQualityForImpacts(tempModel, problemData, rows); 48 } 49 47 50 var tempModelNode = (ISymbolicExpressionTreeNode)cloner.GetClone(node); 48 49 51 var tempModelParentNode = tempModelNode.Parent; 50 52 int i = tempModelParentNode.IndexOfSubtree(tempModelNode); … … 54 56 newQualityForImpactsCalculation = qualityForImpactsCalculation; // initialize 55 57 // try the potentially reasonable replacement values and use the best one 56 foreach (var repValue in CalculateReplacementValues(node, model.SymbolicExpressionTree, model.Interpreter, problemData.Dataset, problemData.TrainingIndices)) {58 foreach (var repValue in CalculateReplacementValues(node, model.SymbolicExpressionTree, model.Interpreter, problemData.Dataset, rows)) { 57 59 tempModelParentNode.RemoveSubtree(i); 58 60
Note: See TracChangeset
for help on using the changeset viewer.