Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/28/16 13:33:17 (8 years ago)
Author:
mkommend
Message:

#2604:

  • Base classes for data analysis, classification, and regression models
  • Added target variable to classification and regression models
  • Switched parameter order in data analysis solutions (model, problemdata)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/RegressionTreeModel.cs

    r13921 r13941  
    3434  [StorableClass]
    3535  [Item("RegressionTreeModel", "Represents a decision tree for regression.")]
    36   public sealed class RegressionTreeModel : NamedItem, IRegressionModel {
    37     public IEnumerable<string> VariablesUsedForPrediction {
    38       get { return Enumerable.Empty<string>(); }
    39     }
    40 
    41     public string TargetVariable {
    42       get { return string.Empty; }
     36  public sealed class RegressionTreeModel : RegressionModel {
     37    public override IEnumerable<string> VariablesUsedForPrediction {
     38      get { return tree.Select(t => t.VarName).Where(v => v != TreeNode.NO_VARIABLE); }
    4339    }
    4440
     
    9086    private TreeNode[] tree;
    9187
    92     #region old storable format 
     88    #region old storable format
    9389    // remove with HL 3.4
    9490    [Storable(AllowOneWay = true)]
     
    167163    }
    168164
    169     internal RegressionTreeModel(TreeNode[] tree)
    170       : base("RegressionTreeModel", "Represents a decision tree for regression.") {
     165    internal RegressionTreeModel(TreeNode[] tree, string target = "Target")
     166      : base(target, "RegressionTreeModel", "Represents a decision tree for regression.") {
    171167      this.tree = tree;
    172168    }
     
    194190    }
    195191
    196     public IEnumerable<double> GetEstimatedValues(IDataset ds, IEnumerable<int> rows) {
     192    public override IEnumerable<double> GetEstimatedValues(IDataset ds, IEnumerable<int> rows) {
    197193      // lookup columns for variableNames in one pass over the tree to speed up evaluation later on
    198194      ReadOnlyCollection<double>[] columnCache = new ReadOnlyCollection<double>[tree.Length];
     
    208204    }
    209205
    210     public IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) {
     206    public override IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) {
    211207      return new RegressionSolution(this, new RegressionProblemData(problemData));
    212208    }
     
    227223      }
    228224    }
     225
    229226  }
    230227}
Note: See TracChangeset for help on using the changeset viewer.