Changeset 13941 for trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesModelSurrogate.cs
- Timestamp:
- 06/28/16 13:33:17 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/GradientBoostedTreesModelSurrogate.cs
r13921 r13941 34 34 // recalculate the actual GBT model on demand 35 35 [Item("Gradient boosted tree model", "")] 36 public sealed class GradientBoostedTreesModelSurrogate : NamedItem, IGradientBoostedTreesModel {36 public sealed class GradientBoostedTreesModelSurrogate : RegressionModel, IGradientBoostedTreesModel { 37 37 // don't store the actual model! 38 38 private IGradientBoostedTreesModel actualModel; // the actual model is only recalculated when necessary … … 55 55 private int maxSize; 56 56 57 public string TargetVariable {58 get { return trainingProblemData.TargetVariable; }59 }60 57 61 public IEnumerable<string> VariablesUsedForPrediction {58 public override IEnumerable<string> VariablesUsedForPrediction { 62 59 get { return actualModel.Models.SelectMany(x => x.VariablesUsedForPrediction).Distinct().OrderBy(x => x); } 63 60 } … … 83 80 public GradientBoostedTreesModelSurrogate(IRegressionProblemData trainingProblemData, uint seed, 84 81 ILossFunction lossFunction, int iterations, int maxSize, double r, double m, double nu) 85 : base( "Gradient boosted tree model", string.Empty) {82 : base(trainingProblemData.TargetVariable, "Gradient boosted tree model", string.Empty) { 86 83 this.trainingProblemData = trainingProblemData; 87 84 this.seed = seed; … … 107 104 108 105 // forward message to actual model (recalculate model first if necessary) 109 public IEnumerable<double> GetEstimatedValues(IDataset dataset, IEnumerable<int> rows) {106 public override IEnumerable<double> GetEstimatedValues(IDataset dataset, IEnumerable<int> rows) { 110 107 if (actualModel == null) actualModel = RecalculateModel(); 111 108 return actualModel.GetEstimatedValues(dataset, rows); 112 109 } 113 110 114 public IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) {111 public override IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) { 115 112 return new RegressionSolution(this, (IRegressionProblemData)problemData.Clone()); 116 113 }
Note: See TracChangeset
for help on using the changeset viewer.