package func.test; import shared.DataSet; import shared.DataSetDescription; import shared.Instance; import func.dtree.DecisionTreeSplit; import func.dtree.DecisionTreeSplitStatistics; import func.dtree.ChiSquarePruningCriteria; import func.dtree.StandardDecisionTreeSplit; /** * Test the class * @author Andrew Guillory gtg008g@mail.gatech.edu * @version 1.0 */ public class PruningCriteriaTest { /** * 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) }; DataSet set = new DataSet(instances); set.setDescription(new DataSetDescription(set)); ChiSquarePruningCriteria cspc = new ChiSquarePruningCriteria(1); for (int i = 0; i < 4; i++) { DecisionTreeSplit split = new StandardDecisionTreeSplit(i, 2); DecisionTreeSplitStatistics stats = new DecisionTreeSplitStatistics(split, set); System.out.println("\nAttribute " + i); System.out.println("Should prune? " + cspc.shouldPrune(stats)); } } }