Ejemplo n.º 1
0
        public static void decisionTreeDemo()
        {
            try
            {
                DataSet             ds      = DataSetFactory.getRestaurantDataSet();
                DecisionTreeLearner learner = new DecisionTreeLearner();
                learner.Train(ds);
                System.Console.WriteLine("The Induced Decision Tree is ");
                System.Console.WriteLine(learner.getDecisionTree());
                int[] result = learner.Test(ds);

                System.Console.WriteLine("\nThis Decision Tree classifies the data set with "
                                         + result[0]
                                         + " successes"
                                         + " and "
                                         + result[1]
                                         + " failures");
                System.Console.WriteLine("\n");
            }
            catch (Exception e)
            {
                System.Console.WriteLine("Decision Tree Demo Failed  ");
                throw e;
            }
        }
Ejemplo n.º 2
0
        public void testInducedTreeClassifiesDataSetCorrectly()
        {
            DataSet             ds      = DataSetFactory.getRestaurantDataSet();
            DecisionTreeLearner learner = new DecisionTreeLearner();

            learner.Train(ds);
            int[] result = learner.Test(ds);
            Assert.AreEqual(12, result[0]);
            Assert.AreEqual(0, result[1]);
        }
Ejemplo n.º 3
0
        public void testDefaultUsedWhenTrainingDataSetHasNoExamples()


        {
            // tests RecursionBaseCase#1
            DataSet             ds      = DataSetFactory.getRestaurantDataSet();
            DecisionTreeLearner learner = new DecisionTreeLearner();

            DataSet ds2 = ds.emptyDataSet();

            Assert.AreEqual(0, ds2.size());

            learner.Train(ds2);
            Assert.AreEqual("Unable To Classify",
                            learner.Predict(ds.getExample(0)));
        }
Ejemplo n.º 4
0
        public void testClassificationReturnedWhenAllExamplesHaveTheSameClassification()


        {
            // tests RecursionBaseCase#2
            DataSet             ds      = DataSetFactory.getRestaurantDataSet();
            DecisionTreeLearner learner = new DecisionTreeLearner();

            DataSet ds2 = ds.emptyDataSet();

            // all 3 examples have the same classification (willWait = yes)
            ds2.add(ds.getExample(0));
            ds2.add(ds.getExample(2));
            ds2.add(ds.getExample(3));

            learner.Train(ds2);
            Assert.AreEqual("Yes", learner.Predict(ds.getExample(0)));
        }
Ejemplo n.º 5
0
        public void testMajorityReturnedWhenAttributesToExamineIsEmpty()


        {
            // tests RecursionBaseCase#2
            DataSet             ds      = DataSetFactory.getRestaurantDataSet();
            DecisionTreeLearner learner = new DecisionTreeLearner();

            DataSet ds2 = ds.emptyDataSet();

            // 3 examples have classification = "yes" and one ,"no"
            ds2.add(ds.getExample(0));
            ds2.add(ds.getExample(1));// "no"
            ds2.add(ds.getExample(2));
            ds2.add(ds.getExample(3));
            ds2.setSpecification(new MockDataSetSpecification("will_wait"));

            learner.Train(ds2);
            Assert.AreEqual("Yes", learner.Predict(ds.getExample(1)));
        }