package func.test; import shared.DataSet; import shared.DataSetDescription; import shared.Instance; import func.dtree.DecisionTreeSplit; import func.dtree.DecisionTreeSplitStatistics; import func.dtree.GINISplitEvaluator; import func.dtree.InformationGainSplitEvaluator; import func.dtree.StandardDecisionTreeSplit; /** * Test the class * @author Andrew Guillory gtg008g@mail.gatech.edu * @version 1.0 */ public class SplitEvaluatorTest { /** * 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)); InformationGainSplitEvaluator ie = new InformationGainSplitEvaluator(); GINISplitEvaluator ge = new GINISplitEvaluator(); 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("Information gain: " + ie.splitValue(stats)); System.out.println("GINI index: " + ge.splitValue(stats)); } } }