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/GradientBoostedTreesModelSurrogate.cs

    r13921 r13941  
    3434  // recalculate the actual GBT model on demand
    3535  [Item("Gradient boosted tree model", "")]
    36   public sealed class GradientBoostedTreesModelSurrogate : NamedItem, IGradientBoostedTreesModel {
     36  public sealed class GradientBoostedTreesModelSurrogate : RegressionModel, IGradientBoostedTreesModel {
    3737    // don't store the actual model!
    3838    private IGradientBoostedTreesModel actualModel; // the actual model is only recalculated when necessary
     
    5555    private int maxSize;
    5656
    57     public string TargetVariable {
    58       get { return trainingProblemData.TargetVariable; }
    59     }
    6057
    61     public IEnumerable<string> VariablesUsedForPrediction {
     58    public override IEnumerable<string> VariablesUsedForPrediction {
    6259      get { return actualModel.Models.SelectMany(x => x.VariablesUsedForPrediction).Distinct().OrderBy(x => x); }
    6360    }
     
    8380    public GradientBoostedTreesModelSurrogate(IRegressionProblemData trainingProblemData, uint seed,
    8481      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) {
    8683      this.trainingProblemData = trainingProblemData;
    8784      this.seed = seed;
     
    107104
    108105    // 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) {
    110107      if (actualModel == null) actualModel = RecalculateModel();
    111108      return actualModel.GetEstimatedValues(dataset, rows);
    112109    }
    113110
    114     public IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) {
     111    public override IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) {
    115112      return new RegressionSolution(this, (IRegressionProblemData)problemData.Clone());
    116113    }
Note: See TracChangeset for help on using the changeset viewer.