Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/17/15 17:22:57 (10 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/SingleObjective/SymbolicClassificationSingleObjectiveWeightedPerformanceMeasuresEvaluator.cs

    r12216 r12218  
    102102      IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows);
    103103      IEnumerable<double> targetClassValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows);
     104      IEnumerable<double> boundedEstimatedValues = estimatedValues.LimitToRange(lowerEstimationLimit, upperEstimationLimit);
    104105      OnlineCalculatorError errorState;
    105106      double nmse;
     
    109110      string positiveClassName = problemData.PositiveClass;
    110111      double[] classValues, thresholds;
    111       model.ThresholdCalculator.Calculate(problemData, estimatedValues, targetClassValues, out classValues, out thresholds);
     112      model.ThresholdCalculator.Calculate(problemData, boundedEstimatedValues, targetClassValues, out classValues, out thresholds);
    112113      model.SetThresholdsAndClassValues(thresholds, classValues);
    113114      var performanceCalculator = new ClassificationPerformanceMeasuresCalculator(positiveClassName, problemData.GetClassValue(positiveClassName));
    114       var estimatedClassValues = model.GetEstimatedClassValues(estimatedValues);
     115      var estimatedClassValues = model.GetEstimatedClassValues(boundedEstimatedValues);
    115116      performanceCalculator.Calculate(targetClassValues, estimatedClassValues);
    116117      if (performanceCalculator.ErrorState != OnlineCalculatorError.None)
     
    125126        nmse = nmseCalculator.NormalizedMeanSquaredError;
    126127      } else {
    127         IEnumerable<double> boundedEstimatedValues = estimatedValues.LimitToRange(lowerEstimationLimit, upperEstimationLimit);
    128128        nmse = OnlineNormalizedMeanSquaredErrorCalculator.Calculate(targetClassValues, boundedEstimatedValues, out errorState);
    129129      }
Note: See TracChangeset for help on using the changeset viewer.