コード例 #1
0
        public void HypothesisThrowsArgumentOutOfRangeExceptionIfXsCountPlusOneIsNotEqualToThetasCount()
        {
            // arrange
            IList <double> xs     = new double[2];
            IList <double> thetas = new double[4];

            // act
            LogisticRegression.Hypothesis(xs, thetas);

            // assert
            Assert.Fail();
        }
コード例 #2
0
        public void HypothesisThrowsExceptionIfThetasIsNull()
        {
            // arrange
            IList <double> xs     = new double[0];
            IList <double> thetas = null;

            // act
            LogisticRegression.Hypothesis(xs, thetas);

            // assert
            Assert.Fail();
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }