package quickml.supervised; import com.beust.jcommander.internal.Lists; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import quickml.InstanceLoader; import quickml.data.instances.ClassifierInstance; import quickml.supervised.PredictiveModelsFromPreviousVersionsToBenchMarkAgainst.OldTreeBuilder; import quickml.supervised.PredictiveModelsFromPreviousVersionsToBenchMarkAgainst.oldScorers.GiniImpurityOldScorer; import quickml.supervised.tree.attributeIgnoringStrategies.IgnoreAttributesWithConstantProbability; import quickml.supervised.tree.decisionTree.DecisionTreeBuilder; import quickml.supervised.tree.decisionTree.scorers.GRPenalizedGiniImpurityScorerFactory; import java.util.List; /** * Created by alexanderhawk on 7/7/15. */ public class OldTreeBuildTimeTest { private List<ClassifierInstance> newInstances = Lists.newArrayList(); @Before public void setUp() throws Exception { List<ClassifierInstance> instances = InstanceLoader.getAdvertisingInstances(); for (int i = 0; i < 10; i++) { newInstances.addAll(instances); } } @Ignore @Test public void timeTest(){ DecisionTreeBuilder modelBuilder = new DecisionTreeBuilder().scorerFactory(new GRPenalizedGiniImpurityScorerFactory()).maxDepth(16).minLeafInstances(0).minAttributeValueOccurences(2).attributeIgnoringStrategy(new IgnoreAttributesWithConstantProbability(0.7)); double start = System.currentTimeMillis(); for (int i = 0; i<15; i++) { modelBuilder.buildPredictiveModel(newInstances); } double stop = System.currentTimeMillis(); System.out.println("build time: " + (stop - start)); OldTreeBuilder oldModelBuilder = new OldTreeBuilder().scorer(new GiniImpurityOldScorer()).maxDepth(16).minCategoricalAttributeValueOccurances(2).attributeIgnoringStrategy(new quickml.supervised.PredictiveModelsFromPreviousVersionsToBenchMarkAgainst.oldTree.oldAttributeIgnoringStrategies.IgnoreAttributesWithConstantProbability(0.7)); start = System.currentTimeMillis(); for (int i = 0; i<15; i++) { oldModelBuilder.buildPredictiveModel(newInstances); } stop = System.currentTimeMillis(); System.out.println("build time old: " + (stop-start)); } }