Changeset 16847 for branches/2847_M5Regression/HeuristicLab.Algorithms.DataAnalysis/3.4/M5Regression/Spliting/SplitterBase.cs
- Timestamp:
- 04/19/19 13:06:11 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2847_M5Regression/HeuristicLab.Algorithms.DataAnalysis/3.4/M5Regression/Spliting/SplitterBase.cs
r15830 r16847 26 26 using HeuristicLab.Common; 27 27 using HeuristicLab.Core; 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;29 28 using HeuristicLab.Problems.DataAnalysis; 29 using HEAL.Attic; 30 30 31 31 namespace HeuristicLab.Algorithms.DataAnalysis { 32 [Storable Class]33 [Item("SplitterBase", "A split selector that uses the ratio between Variances^(1/Order) to determine good splits")]32 [StorableType("22DCCF28-8943-4622-BBD3-B2AB04F28C36")] 33 [Item("SplitterBase", "Abstract base class for splitters")] 34 34 public abstract class SplitterBase : ParameterizedNamedItem, ISplitter { 35 35 public const string SplittingStateVariableName = "RuleSetState"; … … 37 37 #region Constructors & Cloning 38 38 [StorableConstructor] 39 protected SplitterBase( bool deserializing) { }39 protected SplitterBase(StorableConstructorFlag _) { } 40 40 protected SplitterBase(SplitterBase original, Cloner cloner) : base(original, cloner) { } 41 41 public SplitterBase() { } … … 46 46 states.Variables.Add(new Variable(SplittingStateVariableName, new SplittingState())); 47 47 } 48 48 49 public void Split(RegressionNodeTreeModel tree, IReadOnlyList<int> trainingRows, IScope stateScope, CancellationToken cancellationToken) { 49 50 var regressionTreeParams = (RegressionTreeParameters)stateScope.Variables[M5Regression.RegressionTreeParameterVariableName].Value; … … 87 88 if (splitData.Dataset.Rows < minLeafSize) return false; 88 89 89 // find best Attribute for the Splitter90 // find best attribute for the splitter 90 91 foreach (var attr in splitData.AllowedInputVariables) { 91 92 int pos; … … 109 110 #endregion 110 111 111 [Storable Class]112 [StorableType("BC1149FD-370E-4F3A-92F5-6E519736D09A")] 112 113 public class SplittingState : Item { 113 114 [Storable] … … 124 125 #region HLConstructors & Cloning 125 126 [StorableConstructor] 126 protected SplittingState( bool deserializing) : base(deserializing) { }127 protected SplittingState(StorableConstructorFlag _) : base(_) { } 127 128 protected SplittingState(SplittingState original, Cloner cloner) : base(original, cloner) { 128 129 nodeQueue = new Queue<RegressionNodeModel>(original.nodeQueue.Select(cloner.Clone));
Note: See TracChangeset
for help on using the changeset viewer.