Changeset 5746 for branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/OnlineEvaluators/OnlineNormalizedMeanSquaredErrorEvaluator.cs
- Timestamp:
- 03/18/11 09:57:44 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/OnlineEvaluators/OnlineNormalizedMeanSquaredErrorEvaluator.cs
r5564 r5746 30 30 public double NormalizedMeanSquaredError { 31 31 get { 32 return meanSquaredErrorCalculator.Mean / originalVarianceCalculator.Variance; 32 double var = originalVarianceCalculator.Variance; 33 double m = meanSquaredErrorCalculator.Mean; 34 return var > 0 ? m / var : 0.0; 33 35 } 34 36 } … … 51 53 52 54 public void Add(double original, double estimated) { 53 if (double.IsNaN(estimated) || double.IsInfinity(estimated) || 54 double.IsNaN(original) || double.IsInfinity(original)) { 55 throw new ArgumentException("Mean squared error is not defined for NaN or infinity elements"); 56 } else { 57 double error = estimated - original; 58 meanSquaredErrorCalculator.Add(error * error); 59 originalVarianceCalculator.Add(original); 60 } 55 // no need to check for validity of values explicitly as it is checked in the meanAndVariance calculator anyway 56 double error = estimated - original; 57 meanSquaredErrorCalculator.Add(error * error); 58 originalVarianceCalculator.Add(original); 61 59 } 62 60 #endregion
Note: See TracChangeset
for help on using the changeset viewer.