Ejemplo n.º 1
0
        public static Output ProcessInstance(Tree tree, Instance i)
        {
            if (tree.Leaf != null)
            {
                return tree.Leaf;
            }

            return ProcessInstance(tree.TreeForInstance(i), i);
        }
Ejemplo n.º 2
0
        public void DecideOnTree()
        {
            var tree = GetDataSet().BuildTree();

            var instance = new Instance
                           {                               
                               Features = new List<Feature>
                                          {
                                              new Feature("1", CAN_SURVIVE_WITHOUT_SURFACING),
                                              new Feature("1", HAS_FLIPPERS)
                                          }
                           };

            var output = Tree.ProcessInstance(tree, instance);

            Assert.That(output.Axis, Is.EqualTo(IS_FISH));
            Assert.That(output.Value, Is.EqualTo("yes"));
        }
Ejemplo n.º 3
0
        private DecisionTreeSet GetDataSet()
        {

            #region data

            var instance1 = new Instance
            {
                Output = new Output("yes", IS_FISH),
                Features = new List<Feature>
                                           {
                                               new Feature("1", CAN_SURVIVE_WITHOUT_SURFACING),
                                               new Feature("1", HAS_FLIPPERS)
                                           }
            };

            var instance2 = new Instance
            {
                Output = new Output("yes", IS_FISH),
                Features = new List<Feature>
                                           {
                                               new Feature("1", CAN_SURVIVE_WITHOUT_SURFACING),
                                               new Feature("1", HAS_FLIPPERS)
                                           }
            };

            var instance3 = new Instance
            {
                Output = new Output("no", IS_FISH),
                Features = new List<Feature>
                                           {
                                               new Feature("1", CAN_SURVIVE_WITHOUT_SURFACING),
                                               new Feature("0", HAS_FLIPPERS)
                                           }
            };

            var instance4 = new Instance
            {
                Output = new Output("no", IS_FISH),
                Features = new List<Feature>
                                           {
                                               new Feature("0", CAN_SURVIVE_WITHOUT_SURFACING),
                                               new Feature("1", HAS_FLIPPERS)
                                           }
            };

            var instance5 = new Instance
            {
                Output = new Output("no", IS_FISH),
                Features = new List<Feature>
                                           {
                                               new Feature("0", CAN_SURVIVE_WITHOUT_SURFACING),
                                               new Feature("1", HAS_FLIPPERS)
                                           }
            };

            #endregion

            return new DecisionTreeSet
            {
                Instances = new List<Instance>
                                          {
                                              instance1,
                                              instance2,
                                              instance3,
                                              instance4,
                                              instance5
                                          }
            };

        }
Ejemplo n.º 4
0
        private Tree TreeForInstance(Instance instance)
        {
            var tree = instance.Features.Select(TreeForFeature).FirstOrDefault(f => f != null);

            return tree;
        }