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/BaselineClassifiers/OneRClassificationModel.cs

    r13921 r13941  
    3131  [StorableClass]
    3232  [Item("OneR Classification Model", "A model that uses intervals for one variable to determine the class.")]
    33   public class OneRClassificationModel : NamedItem, IClassificationModel {
    34     public IEnumerable<string> VariablesUsedForPrediction {
    35       get { return Enumerable.Empty<string>(); }
    36     }
    37 
    38     public string TargetVariable {
    39       get { return variable; }
     33  public class OneRClassificationModel : ClassificationModel {
     34    public override IEnumerable<string> VariablesUsedForPrediction {
     35      get { return new[] { Variable }; }
    4036    }
    4137
     
    7470    public override IDeepCloneable Clone(Cloner cloner) { return new OneRClassificationModel(this, cloner); }
    7571
    76     public OneRClassificationModel(string variable, double[] splits, double[] classes, double missingValuesClass = double.NaN)
    77       : base() {
     72    public OneRClassificationModel(string targetVariable, string variable, double[] splits, double[] classes, double missingValuesClass = double.NaN)
     73      : base(targetVariable) {
    7874      if (splits.Length != classes.Length) {
    7975        throw new ArgumentException("Number of splits and classes has to be equal.");
     
    9288    // uses sorting to return the values in the order of rows, instead of using nested for loops
    9389    // to avoid O(n²) runtime
    94     public IEnumerable<double> GetEstimatedClassValues(IDataset dataset, IEnumerable<int> rows) {
     90    public override IEnumerable<double> GetEstimatedClassValues(IDataset dataset, IEnumerable<int> rows) {
    9591      var values = dataset.GetDoubleValues(Variable, rows).ToArray();
    9692      var rowsArray = rows.ToArray();
     
    116112    }
    117113
    118     public IClassificationSolution CreateClassificationSolution(IClassificationProblemData problemData) {
     114    public override IClassificationSolution CreateClassificationSolution(IClassificationProblemData problemData) {
    119115      return new OneRClassificationSolution(this, new ClassificationProblemData(problemData));
    120116    }
Note: See TracChangeset for help on using the changeset viewer.