Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/17/15 17:22:57 (9 years ago)
Author:
ehopf
Message:

#2361: Added missing estimated values bound calculation and removed duplicate code. Note that the current implementation ignores the linear scaling option.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SensitivityEvaluator/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SymbolicDiscriminantFunctionClassificationModel.cs

    r12216 r12218  
    8888      var classValuesArr = classValues.ToArray();
    8989      var thresholdsArr = thresholds.ToArray();
    90       if (thresholdsArr.Length != classValuesArr.Length || thresholdsArr.Length < 1) 
     90      if (thresholdsArr.Length != classValuesArr.Length || thresholdsArr.Length < 1)
    9191        throw new ArgumentException();
    92       if (!double.IsNegativeInfinity(thresholds.First())) 
     92      if (!double.IsNegativeInfinity(thresholds.First()))
    9393        throw new ArgumentException();
    9494
     
    113113    public override IEnumerable<double> GetEstimatedClassValues(Dataset dataset, IEnumerable<int> rows) {
    114114      if (!Thresholds.Any() && !ClassValues.Any()) throw new ArgumentException("No thresholds and class values were set for the current symbolic classification model.");
    115       foreach (var x in GetEstimatedValues(dataset, rows)) {
    116         int classIndex = 0;
    117         // find first threshold value which is larger than x => class index = threshold index + 1
    118         for (int i = 0; i < thresholds.Length; i++) {
    119           if (x > thresholds[i]) classIndex++;
    120           else break;
    121         }
    122         yield return classValues.ElementAt(classIndex - 1);
    123       }
     115      var estimatedValues = GetEstimatedValues(dataset, rows);
     116      return GetEstimatedClassValues(estimatedValues);
    124117    }
    125118    public IEnumerable<double> GetEstimatedClassValues(IEnumerable<double> estimatedValues) {
Note: See TracChangeset for help on using the changeset viewer.