Accord.Tests.Statistics.LogisticRegressionTest.RegularizationTest2 C# (CSharp) Method

RegularizationTest2() private method

private RegularizationTest2 ( ) : void
return void
        public void RegularizationTest2()
        {
            CsvReader reader = CsvReader.FromText(Properties.Resources.regression, true);

            double[][] data = reader.ToTable().ToArray(System.Globalization.CultureInfo.InvariantCulture);

            double[][] inputs = data.GetColumns(new[] { 0, 1 });

            double[] output = data.GetColumn(2);

            var regression = new LogisticRegression(2);
            var irls = new IterativeReweightedLeastSquares(regression);

            double error = irls.Run(inputs, output);
            double newError = 0;

            for (int i = 0; i < 50; i++)
                newError = irls.Run(inputs, output);

            double actual = irls.ComputeError(inputs, output);
            Assert.AreEqual(30.507262964894068, actual, 1e-8);

            Assert.AreEqual(3, regression.Coefficients.Length);
            Assert.AreEqual(-0.38409721299838279, regression.Coefficients[0], 1e-7);
            Assert.AreEqual(0.1065137931017601, regression.Coefficients[1], 1e-7);
            Assert.AreEqual(22.010378526331344, regression.Coefficients[2], 1e-7);

            for (int i = 0; i < 50; i++)
                newError = irls.Run(inputs, output);

            Assert.AreEqual(-0.38409721299838279, regression.Coefficients[0], 1e-7);
            Assert.AreEqual(0.1065137931017601, regression.Coefficients[1], 1e-8);
            Assert.AreEqual(22.010378588337979, regression.Coefficients[2], 1e-8);
        }