public void Constructor_CalculateTruePositivesAndFalseNegative() { var inputs = new double[] { 1.0, 2.0, 3.0, 4.0 }; var oftc = new ObjectFromTargetClass(inputs, ComparisonKind.GreaterThanOrEqual, 3.0); Assert.AreEqual(2, oftc.FalseNegatives); Assert.AreEqual(2, oftc.TruePositives); }
public SplitInformation(double[] inputs, double[] validateInputs, int validationInputsTotalCount, ComparisonKind comparisonKind, double splitValue, int learn) { var validationPositives = validateInputs.GetVeryfiedCount(comparisonKind, splitValue); ConfusionMatrix = new ObjectFromTargetClass(inputs, comparisonKind, splitValue); if (ConfusionMatrix.TruePositives == 0 || validationPositives == 0) { RecallValue = 0; Probability = 0; MeasureValue = 0; return; } RecallValue = (double)ConfusionMatrix.TruePositives / learn; Probability = (double)validationPositives / validationInputsTotalCount; MeasureValue = StatisticsCalculator.CalculateObjectiveFunction(RecallValue, Probability); }