Changeset 16847 for branches/2847_M5Regression/HeuristicLab.Algorithms.DataAnalysis/3.4/M5Regression/LeafTypes/ComplexLeaf.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/LeafTypes/ComplexLeaf.cs
r15830 r16847 26 26 using HeuristicLab.Core; 27 27 using HeuristicLab.Parameters; 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("ComplexLeaf", "A leaf type that uses an arbitr iary RegressionAlgorithm to create leaf models")]32 [StorableType("F34A0ED9-2CF6-4DEE-850D-08790663B66D")] 33 [Item("ComplexLeaf", "A leaf type that uses an arbitrary RegressionAlgorithm to create leaf models")] 34 34 public class ComplexLeaf : LeafBase { 35 35 public const string RegressionParameterName = "Regression"; 36 36 public IValueParameter<IDataAnalysisAlgorithm<IRegressionProblem>> RegressionParameter { 37 get { return Parameters[RegressionParameterName] as IValueParameter<IDataAnalysisAlgorithm<IRegressionProblem>>; }37 get { return (IValueParameter<IDataAnalysisAlgorithm<IRegressionProblem>>)Parameters[RegressionParameterName]; } 38 38 } 39 39 public IDataAnalysisAlgorithm<IRegressionProblem> Regression { 40 40 get { return RegressionParameter.Value; } 41 set { RegressionParameter.Value = value; } 41 42 } 42 43 43 44 #region Constructors & Cloning 44 45 [StorableConstructor] 45 private ComplexLeaf( bool deserializing) : base(deserializing) { }46 private ComplexLeaf(StorableConstructorFlag _) : base(_) { } 46 47 private ComplexLeaf(ComplexLeaf original, Cloner cloner) : base(original, cloner) { } 47 48 public ComplexLeaf() { … … 61 62 if (pd.Dataset.Rows < MinLeafSize(pd)) throw new ArgumentException("The number of training instances is too small to create a linear model"); 62 63 noParameters = pd.Dataset.Rows + 1; 63 Regression.Problem = new RegressionProblem { ProblemData = pd};64 Regression.Problem = new RegressionProblem { ProblemData = pd }; 64 65 var res = RegressionTreeUtilities.RunSubAlgorithm(Regression, random.Next(), cancellationToken); 65 66 var t = res.Select(x => x.Value).OfType<IRegressionSolution>().FirstOrDefault();
Note: See TracChangeset
for help on using the changeset viewer.