Ejemplo n.º 1
0
        static void ensembleLearningDemo()
        {
            try
            {
                DataSet ds = DataSetFactory.getRestaurantDataSet();
                ICollection <DecisionTree> stumps   = DecisionTree.getStumpsFor(ds, "Yes", "No");
                ICollection <ILearner>     learners = CollectionFactory.CreateQueue <ILearner>();

                System.Console.WriteLine("\nStump Learners vote to decide in this algorithm");
                foreach (object stump in stumps)
                {
                    DecisionTree sl           = (DecisionTree)stump;
                    StumpLearner stumpLearner = new StumpLearner(sl, "No");
                    learners.Add(stumpLearner);
                }
                AdaBoostLearner learner = new AdaBoostLearner(learners, ds);
                learner.Train(ds);
                var   answer = learner.Predict(ds.getExample(0));
                int[] result = learner.Test(ds);
                System.Console.WriteLine("\nThis Ensemble Learner  classifies the data set with "
                                         + result[0]
                                         + " successes"
                                         + " and "
                                         + result[1]
                                         + " failures");
                System.Console.WriteLine("\n");
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 2
0
        public void testAdaBoostEnablesCollectionOfStumpsToClassifyDataSetAccurately()
        {
            DataSet             ds       = DataSetFactory.getRestaurantDataSet();
            List <DecisionTree> stumps   = DecisionTree.getStumpsFor(ds, YES, "No");
            List <Learner>      learners = new List <Learner>();

            foreach (Object stump in stumps)
            {
                DecisionTree sl           = (DecisionTree)stump;
                StumpLearner stumpLearner = new StumpLearner(sl, "No");
                learners.Add(stumpLearner);
            }
            AdaBoostLearner learner = new AdaBoostLearner(learners, ds);

            learner.train(ds);
            int[] result = learner.test(ds);
            Assert.AreEqual(12, result[0]);
            Assert.AreEqual(0, result[1]);
        }