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.

File:
1 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}
Note: See TracChangeset for help on using the changeset viewer.