package func.test; import shared.DataSet; import shared.Instance; import func.DecisionTreeClassifier; import func.dtree.ChiSquarePruningCriteria; import func.dtree.GINISplitEvaluator; import func.dtree.InformationGainSplitEvaluator; import func.dtree.PruningCriteria; import func.dtree.SplitEvaluator; /** * Test the class * @author Andrew Guillory gtg008g@mail.gatech.edu * @version 1.0 */ public class DecisionTreeTest { /** * Test main * @param args ignored */ public static void main(String[] args) { Instance[] instances = { new Instance(new double[] {0, 0, 0, 1}, 1), new Instance(new double[] {1, 0, 0, 0}, 1), new Instance(new double[] {1, 0, 0, 0}, 1), new Instance(new double[] {1, 0, 0, 0}, 1), new Instance(new double[] {1, 0, 0, 1}, 0), new Instance(new double[] {1, 0, 0, 1}, 0), new Instance(new double[] {1, 0, 0, 1}, 0), new Instance(new double[] {1, 0, 0, 1}, 0) }; Instance[] tests = { new Instance(new double[] {0, 1, 1, 1}), new Instance(new double[] {0, 0, 0, 0}), new Instance(new double[] {1, 0, 0, 0}), new Instance(new double[] {1, 1, 1, 1}) }; DataSet set = new DataSet(instances); PruningCriteria cspc = new ChiSquarePruningCriteria(0); SplitEvaluator gse = new GINISplitEvaluator(); SplitEvaluator igse = new InformationGainSplitEvaluator(); DecisionTreeClassifier dt = new DecisionTreeClassifier(igse, null, true); dt.estimate(set); System.out.println(dt); for (int i = 0; i < tests.length; i++) { System.out.println(dt.value(tests[i])); } } }