private void CalculateErrors(Dictionary <String, double> expected, Dictionary <String, double> actual) { foreach (string key in errorList.Keys) { ErrorCalculator ec = (ErrorCalculator)errorList[key]; double val = ec.CalculateError(expected, actual); Accumulate(key, val); } }
public static double Evaluate(Math::Matrix <double> predictions, Math::Matrix <double> shouldBe, ErrorCalculator ec) { double errorSum = 0; for (int row = 0; row < predictions.RowCount; row++) { double desiredSum = 0; double actualSum = 0; for (int col = 0; col < predictions.ColumnCount; col++) { desiredSum += shouldBe[row, col]; actualSum += predictions[row, col]; } errorSum += ec.CalculateError(actualSum, desiredSum); } return(errorSum / (predictions.RowCount)); }