Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/17/11 00:59:36 (13 years ago)
Author:
mkommend
Message:

#1418: Added all single objective symbolic regression analyzers.

Location:
branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/OnlineEvaluators
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/OnlineEvaluators/OnlineMeanSquaredErrorEvaluator.cs

    r5491 r5500  
    2121
    2222using System;
     23using System.Collections.Generic;
    2324
    2425namespace HeuristicLab.Problems.DataAnalysis {
     
    6061    }
    6162    #endregion
     63
     64    public static double Calculate(IEnumerable<double> first, IEnumerable<double> second) {
     65      IEnumerator<double> firstEnumerator = first.GetEnumerator();
     66      IEnumerator<double> secondEnumerator = second.GetEnumerator();
     67      OnlineMeanSquaredErrorEvaluator mseEvaluator = new OnlineMeanSquaredErrorEvaluator();
     68
     69      while (firstEnumerator.MoveNext() & secondEnumerator.MoveNext()) {
     70        double estimated = secondEnumerator.Current;
     71        double original = firstEnumerator.Current;
     72        mseEvaluator.Add(original, estimated);
     73      }
     74
     75      if (secondEnumerator.MoveNext() || firstEnumerator.MoveNext()) {
     76        throw new ArgumentException("Number of elements in first and second enumeration doesn't match.");
     77      } else {
     78        return mseEvaluator.MeanSquaredError;
     79      }
     80    }
    6281  }
    6382}
  • branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis/3.4/OnlineEvaluators/OnlinePearsonsRSquaredEvaluator.cs

    r5490 r5500  
    2121
    2222using System;
     23using System.Collections.Generic;
    2324using HeuristicLab.Common;
    2425
     
    6869      return double.IsNaN(x) || double.IsInfinity(x);
    6970    }
     71
     72    public static double Calculate(IEnumerable<double> first, IEnumerable<double> second) {
     73      IEnumerator<double> firstEnumerator = first.GetEnumerator();
     74      IEnumerator<double> secondEnumerator = second.GetEnumerator();
     75      OnlinePearsonsRSquaredEvaluator rSquaredEvaluator = new OnlinePearsonsRSquaredEvaluator();
     76
     77      while (firstEnumerator.MoveNext() & secondEnumerator.MoveNext()) {
     78        double estimated = secondEnumerator.Current;
     79        double original = firstEnumerator.Current;
     80        rSquaredEvaluator.Add(original, estimated);
     81      }
     82
     83      if (secondEnumerator.MoveNext() || firstEnumerator.MoveNext()) {
     84        throw new ArgumentException("Number of elements in first and second enumeration doesn't match.");
     85      } else {
     86        return rSquaredEvaluator.RSquared;
     87      }
     88    }
    7089  }
    7190}
Note: See TracChangeset for help on using the changeset viewer.