Accord.Tests.MachineLearning.ID3LearningTest.LargeSampleTest2 C# (CSharp) Method

LargeSampleTest2() private method

private LargeSampleTest2 ( ) : void
return void
        public void LargeSampleTest2()
        {
            Accord.Math.Tools.SetupGenerator(0);

            int[][] dataSamples = Matrix.Random(500, 3, 0.0, 10.0).ToInt32().ToJagged();
            int[] target = Matrix.Random(500, 1, 0.0, 2.0).ToInt32().GetColumn(0);
            DecisionVariable[] features =
            {
                new DecisionVariable("Outlook",      10), 
                new DecisionVariable("Temperature",  10), 
                new DecisionVariable("Humidity",     10), 
            };


            DecisionTree tree = new DecisionTree(features, 2);
            ID3Learning id3Learning = new ID3Learning(tree)
            {
                Rejection = false
            };

            double error = id3Learning.Run(dataSamples, target);

            int height = tree.GetHeight();
            Assert.AreEqual(3, height);

            foreach (var node in tree)
            {
                if (node.IsLeaf)
                    Assert.IsNotNull(node.Output);
            }

            Assert.IsTrue(error < 0.15);
        }