Changeset 16723 for branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisModel.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/SymbolicDataAnalysisModel.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 System.Linq; 26 26 using HeuristicLab.Common; 27 using HeuristicLab.Core;28 27 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 29 using H euristicLab.Persistence.Default.CompositeSerializers.Storable;28 using HEAL.Attic; 30 29 31 30 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { … … 33 32 /// Abstract base class for symbolic data analysis models 34 33 /// </summary> 35 [Storable Class]36 public abstract class SymbolicDataAnalysisModel : NamedItem, ISymbolicDataAnalysisModel {34 [StorableType("EE72299A-7F04-40DA-994E-F12EF9B12CE7")] 35 public abstract class SymbolicDataAnalysisModel : DataAnalysisModel, ISymbolicDataAnalysisModel { 37 36 public static new Image StaticItemImage { 38 37 get { return HeuristicLab.Common.Resources.VSImageLibrary.Function; } … … 59 58 } 60 59 61 public IEnumerable<string> VariablesUsedForPrediction {60 public override IEnumerable<string> VariablesUsedForPrediction { 62 61 get { 63 62 var variables = … … 74 73 75 74 [StorableConstructor] 76 protected SymbolicDataAnalysisModel( bool deserializing) : base(deserializing) { }75 protected SymbolicDataAnalysisModel(StorableConstructorFlag _) : base(_) { } 77 76 protected SymbolicDataAnalysisModel(SymbolicDataAnalysisModel original, Cloner cloner) 78 77 : base(original, cloner) { … … 118 117 ConstantTreeNode alphaTreeNode = null; 119 118 ConstantTreeNode betaTreeNode = null; 120 // check if model has been scaled previously by analyzing the structure of the tree119 // check if model has a structure that can be re-used for scaling 121 120 var startNode = SymbolicExpressionTree.Root.GetSubtree(0); 122 if (startNode.GetSubtree(0).Symbol is Addition) { 123 var addNode = startNode.GetSubtree(0); 124 if (addNode.SubtreeCount == 2 && addNode.GetSubtree(0).Symbol is Multiplication && addNode.GetSubtree(1).Symbol is Constant) { 125 alphaTreeNode = addNode.GetSubtree(1) as ConstantTreeNode; 126 var mulNode = addNode.GetSubtree(0); 127 if (mulNode.SubtreeCount == 2 && mulNode.GetSubtree(1).Symbol is Constant) { 128 betaTreeNode = mulNode.GetSubtree(1) as ConstantTreeNode; 129 } 121 var addNode = startNode.GetSubtree(0); 122 if (addNode.Symbol is Addition && addNode.SubtreeCount == 2) { 123 alphaTreeNode = (ConstantTreeNode)addNode.Subtrees.LastOrDefault(n => n is ConstantTreeNode); 124 var mulNode = addNode.Subtrees.FirstOrDefault(n => n.Symbol is Multiplication); 125 if (mulNode != null) { 126 betaTreeNode = (ConstantTreeNode)mulNode.Subtrees.LastOrDefault(n => n is ConstantTreeNode); 130 127 } 131 128 }
Note: See TracChangeset
for help on using the changeset viewer.