public void HypothesisThrowsArgumentOutOfRangeExceptionIfXsCountPlusOneIsNotEqualToThetasCount() { // arrange IList <double> xs = new double[2]; IList <double> thetas = new double[4]; // act LogisticRegression.Hypothesis(xs, thetas); // assert Assert.Fail(); }
public void HypothesisThrowsExceptionIfThetasIsNull() { // arrange IList <double> xs = new double[0]; IList <double> thetas = null; // act LogisticRegression.Hypothesis(xs, thetas); // assert Assert.Fail(); }
public void HypothesisReturnsCorrectResultForTestData() { // arrange IList <double> xs = new double[] { -1, -2 }; IList <double> thetas = new double[] { 9, 8, 7 }; var expectedResult = LogisticRegression.Sigmoid(thetas[0] + thetas[1] * xs[0] + thetas[2] * xs[1]); // act var result = LogisticRegression.Hypothesis(xs, thetas); // assert Assert.AreEqual(expectedResult, result, 1E-13); }
public void HypothesisReturnsThetaZeroSigmoidIfXsIsEmpty() { // arrange var rnd = new Random(); var randomDouble = rnd.NextDouble(); var expectedResult = LogisticRegression.Sigmoid(randomDouble); IList <double> xs = new double[0]; IList <double> thetas = new double[] { randomDouble }; // act var result = LogisticRegression.Hypothesis(xs, thetas); // assert Assert.AreEqual(expectedResult, result, 1E-13); }