Accord.Tests.Statistics.ProbitRegressionTest.ComputeTest2 C# (CSharp) Method

ComputeTest2() private method

private ComputeTest2 ( ) : void
return void
        public void ComputeTest2()
        {
            double[][] input =
            {
                new double[] { 55, 0 }, // 0 - no cancer
                new double[] { 28, 0 }, // 0
                new double[] { 65, 1 }, // 0
                new double[] { 46, 0 }, // 1 - have cancer
                new double[] { 86, 1 }, // 1
                new double[] { 56, 1 }, // 1
                new double[] { 85, 0 }, // 0
                new double[] { 33, 0 }, // 0
                new double[] { 21, 1 }, // 0
                new double[] { 42, 1 }, // 1
            };

            double[] output =
            {
                0, 0, 0, 1, 1, 1, 0, 0, 0, 1
            };


            var regression = new GeneralizedLinearRegression(new ProbitLinkFunction(), inputs: 2);

            var teacher = new IterativeReweightedLeastSquares(regression);

            double delta = 0;
            do
            {
                // Perform an iteration
                delta = teacher.Run(input, output);

            } while (delta > 0.001);


            Assert.AreEqual(3, regression.Coefficients.Length);
            Assert.AreEqual(-1.4807594445304693, regression.Coefficients[0],1e-8);
            Assert.AreEqual(0.012417175632016827, regression.Coefficients[1], 1e-8);
            Assert.AreEqual(1.072665379969842, regression.Coefficients[2], 1e-8);
            Assert.IsFalse(regression.Coefficients.HasNaN());

            Assert.AreEqual(3, regression.StandardErrors.Length);
            Assert.AreEqual(1.6402037052797314, regression.StandardErrors[0], 1e-8);
            Assert.AreEqual(0.026119425452145524, regression.StandardErrors[1], 1e-8);
            Assert.AreEqual(1.1297252500874606, regression.StandardErrors[2], 1e-8);
            Assert.IsFalse(regression.StandardErrors.HasNaN());
        }
ProbitRegressionTest