addLeaf() public method

public addLeaf ( String attributeValue, String decision ) : void
attributeValue String
decision String
return void
示例#1
0
 public static DecisionTree getStumpFor(DataSet ds, String attributeName,
         String attributeValue, String returnValueIfMatched,
         List<String> unmatchedValues, String returnValueIfUnmatched)
 {
     DecisionTree dt = new DecisionTree(attributeName);
     dt.addLeaf(attributeValue, returnValueIfMatched);
     foreach (String unmatchedValue in unmatchedValues)
     {
         dt.addLeaf(unmatchedValue, returnValueIfUnmatched);
     }
     return dt;
 }
示例#2
0
        public static DecisionTree getStumpFor(DataSet ds, String attributeName,
                                               String attributeValue, String returnValueIfMatched,
                                               List <String> unmatchedValues, String returnValueIfUnmatched)
        {
            DecisionTree dt = new DecisionTree(attributeName);

            dt.addLeaf(attributeValue, returnValueIfMatched);
            foreach (String unmatchedValue in unmatchedValues)
            {
                dt.addLeaf(unmatchedValue, returnValueIfUnmatched);
            }
            return(dt);
        }
示例#3
0
        //
        // PRIVATE METHODS
        //
        private static DecisionTree createInducedRestaurantDecisionTree()
        {
            // from AIMA 2nd ED
            // Fig 18.6
            // friday saturday node
            DecisionTree frisat = new DecisionTree("fri/sat");
            frisat.addLeaf(Util.YES, Util.YES);
            frisat.addLeaf(Util.NO, Util.NO);

            // type node
            DecisionTree type = new DecisionTree("type");
            type.addLeaf("French", Util.YES);
            type.addLeaf("Italian", Util.NO);
            type.addNode("Thai", frisat);
            type.addLeaf("Burger", Util.YES);

            // hungry node
            DecisionTree hungry = new DecisionTree("hungry");
            hungry.addLeaf(Util.NO, Util.NO);
            hungry.addNode(Util.YES, type);

            // patrons node
            DecisionTree patrons = new DecisionTree("patrons");
            patrons.addLeaf("None", Util.NO);
            patrons.addLeaf("Some", Util.YES);
            patrons.addNode("Full", hungry);

            return patrons;
        }
示例#4
0
        private static DecisionTree createActualRestaurantDecisionTree()
        {
            // from AIMA 2nd ED
            // Fig 18.2

            // raining node
            DecisionTree raining = new DecisionTree("raining");
            raining.addLeaf(Util.YES, Util.YES);
            raining.addLeaf(Util.NO, Util.NO);

            // bar node
            DecisionTree bar = new DecisionTree("bar");
            bar.addLeaf(Util.YES, Util.YES);
            bar.addLeaf(Util.NO, Util.NO);

            // friday saturday node
            DecisionTree frisat = new DecisionTree("fri/sat");
            frisat.addLeaf(Util.YES, Util.YES);
            frisat.addLeaf(Util.NO, Util.NO);

            // second alternate node to the right of the diagram below hungry
            DecisionTree alternate2 = new DecisionTree("alternate");
            alternate2.addNode(Util.YES, raining);
            alternate2.addLeaf(Util.NO, Util.YES);

            // reservation node
            DecisionTree reservation = new DecisionTree("reservation");
            frisat.addNode(Util.NO, bar);
            frisat.addLeaf(Util.YES, Util.YES);

            // first alternate node to the left of the diagram below waitestimate
            DecisionTree alternate1 = new DecisionTree("alternate");
            alternate1.addNode(Util.NO, reservation);
            alternate1.addNode(Util.YES, frisat);

            // hungry node
            DecisionTree hungry = new DecisionTree("hungry");
            hungry.addLeaf(Util.NO, Util.YES);
            hungry.addNode(Util.YES, alternate2);

            // wait estimate node
            DecisionTree waitEstimate = new DecisionTree("wait_estimate");
            waitEstimate.addLeaf(">60", Util.NO);
            waitEstimate.addNode("30-60", alternate1);
            waitEstimate.addNode("10-30", hungry);
            waitEstimate.addLeaf("0-10", Util.YES);

            // patrons node
            DecisionTree patrons = new DecisionTree("patrons");
            patrons.addLeaf("None", Util.NO);
            patrons.addLeaf("Some", Util.YES);
            patrons.addNode("Full", waitEstimate);

            return patrons;
        }