Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/02/15 21:54:58 (8 years ago)
Author:
gkronber
Message:

#1998:

  • introduced new class ConstantModel (to merge ConstantRegressionModel, ConstantClassificationModel and ConstantTimeSeriesModel)
  • fixed copyright statements
  • tried to unify naming
  • added F1 score and Matthew's correlation to classification results collection
File:
1 copied

Legend:

Unmodified
Added
Removed
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/ConstantModel.cs

    r13097 r13098  
    3030namespace HeuristicLab.Problems.DataAnalysis {
    3131  [StorableClass]
    32   [Item("Constant Regression Model", "A model that always returns the same constant value regardless of the presented input data.")]
    33   public class ConstantRegressionModel : NamedItem, IRegressionModel, IStringConvertibleValue {
     32  [Item("Constant Model", "A model that always returns the same constant value regardless of the presented input data.")]
     33  public class ConstantModel : NamedItem, IRegressionModel, IClassificationModel, ITimeSeriesPrognosisModel, IStringConvertibleValue {
    3434    [Storable]
    3535    private double constant;
     
    4040
    4141    [StorableConstructor]
    42     protected ConstantRegressionModel(bool deserializing) : base(deserializing) { }
    43     protected ConstantRegressionModel(ConstantRegressionModel original, Cloner cloner)
     42    protected ConstantModel(bool deserializing) : base(deserializing) { }
     43    protected ConstantModel(ConstantModel original, Cloner cloner)
    4444      : base(original, cloner) {
    4545      this.constant = original.constant;
    4646    }
    47     public override IDeepCloneable Clone(Cloner cloner) { return new ConstantRegressionModel(this, cloner); }
     47    public override IDeepCloneable Clone(Cloner cloner) { return new ConstantModel(this, cloner); }
    4848
    49     public ConstantRegressionModel(double constant)
     49    public ConstantModel(double constant)
    5050      : base() {
    5151      this.name = ItemName;
     
    5858      return rows.Select(row => Constant);
    5959    }
     60    public IEnumerable<double> GetEstimatedClassValues(IDataset dataset, IEnumerable<int> rows) {
     61      return GetEstimatedValues(dataset, rows);
     62    }
     63    public IEnumerable<IEnumerable<double>> GetPrognosedValues(IDataset dataset, IEnumerable<int> rows, IEnumerable<int> horizons) {
     64      return rows.Select(_ => horizons.Select(__ => Constant));
     65    }
    6066
    6167    public IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) {
    6268      return new ConstantRegressionSolution(this, new RegressionProblemData(problemData));
     69    }
     70    public IClassificationSolution CreateClassificationSolution(IClassificationProblemData problemData) {
     71      return new ConstantClassificationSolution(this, new ClassificationProblemData(problemData));
     72    }
     73    public ITimeSeriesPrognosisSolution CreateTimeSeriesPrognosisSolution(ITimeSeriesPrognosisProblemData problemData) {
     74      return new TimeSeriesPrognosisSolution(this, new TimeSeriesPrognosisProblemData(problemData));
    6375    }
    6476
     
    8395    public event EventHandler ValueChanged;
    8496    #endregion
     97
    8598  }
    8699}
Note: See TracChangeset for help on using the changeset viewer.