Accord.Tests.MachineLearning.NaiveBayesTest.no_sample_test C# (CSharp) Method

no_sample_test() private method

private no_sample_test ( ) : void
return void
        public void no_sample_test()
        {
            // Declare some boolean data
            bool[,] source = 
            {
                // v1,v2,v3,v4,v5,v6,v7,v8,result
                { true,  true,  false, true,  true,  false, false, false, false },
                { true,  true,  true,  true,  true,  false, false, false, false },
                { true,  false, true,  true,  true,  false, false, true,  false },
                { true,  true,  true,  true,  true,  false, false, true,  false },
                { false, false, true,  true,  true,  false, false, true,  false },
                { true,  true,  true,  true,  false, false, false, false, false },
                { false, true,  true,  false, true,  false, false, false, false },
                { true,  true,  true,  false, true,  false, false, false, false },
                { false, true,  true,  false, true,  false, false, true,  false },
                { false, true,  true,  true,  true,  false, false, true,  false },
                { false, true,  true,  false, false, false, false, false, false },
                { true,  false, false, true,  false, false, false, true,  true  },
                { true,  true,  false, true,  false, false, false, true,  true  },
                { true,  true,  true,  true,  false, false, false, true,  true  },
                { false, true,  true,  true,  false, true,  true,  true,  true  },
                { true,  true,  false, false, false, true,  true,  true,  true  },
                { false, true,  false, false, false, true,  true,  true,  true  },
                { true,  true,  true,  true,  false, true,  true,  true,  true  },
                { false, false, false, false, false, true,  true,  true,  true  },
                { true,  true,  false, true,  false, true,  true,  true,  true  },
                { false, true,  false, true,  false, true,  true,  true,  true  },
                { false, true,  true,  false, false, true,  true,  true,  true  },
            };

            // Evaluation of a single point
            int[] sp = new[] { false, false, false, false, true, true, true, true }.ToInt32();


            // Transform to integers, then to jagged (matrix with [][] instead of [,])
            int[][] data = source.ToInt32().ToJagged();

            // Classification setup
            var inputs = data.Get(null, 0, 8); // select all rows, with cols 0 to 8
            var outputs = data.GetColumn(8);   // select last column

            var learner2 = new NaiveBayesLearning<GeneralDiscreteDistribution, GeneralDiscreteOptions, int>();
            learner2.Options.InnerOption.UseLaplaceRule = true;
            learner2.Distribution = (i, j) => new GeneralDiscreteDistribution(symbols: 2);
            learner2.ParallelOptions.MaxDegreeOfParallelism = 1;
            var nb2 = learner2.Learn(inputs, outputs);

            test(nb2, inputs, sp);


            var learner1 = new NaiveBayesLearning();
            learner1.Options.InnerOption.UseLaplaceRule = true;
            learner2.ParallelOptions.MaxDegreeOfParallelism = 1;
            var nb1 = learner1.Learn(inputs, outputs);

            test(nb1, inputs, sp);
        }