edu.cmu.minorthird.classify.algorithms.trees
Class FastRandomTreeLearner

java.lang.Object
  extended by edu.cmu.minorthird.classify.BatchClassifierLearner
      extended by edu.cmu.minorthird.classify.BatchBinaryClassifierLearner
          extended by edu.cmu.minorthird.classify.algorithms.trees.RandomTreeLearner
              extended by edu.cmu.minorthird.classify.algorithms.trees.FastRandomTreeLearner
All Implemented Interfaces:
BinaryClassifierLearner, ClassifierLearner, java.lang.Cloneable

public class FastRandomTreeLearner
extends RandomTreeLearner

Implements a fast version of the simplest RandomTree learner possible. Avoids memory allocation wheverever possible, with resulting speed up of about 30%

Author:
Alexander Friedman

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.cmu.minorthird.classify.algorithms.trees.RandomTreeLearner
RandomTreeLearner.BestOfNRandomTreeSplitter, RandomTreeLearner.RandomTreeSplitter, RandomTreeLearner.TreeSplitter
 
Field Summary
 int subsetSize
           
 
Fields inherited from class edu.cmu.minorthird.classify.BatchClassifierLearner
classifier, dataset
 
Constructor Summary
FastRandomTreeLearner()
           
 
Method Summary
 Classifier batchTrain(Dataset dataset)
          subclasses should use this method to implement a batch supervised learning algorithm.
 Classifier batchTrain(java.util.List<Example> dataset, java.util.Vector<Feature> allFeatures)
           
 Classifier batchTrain(java.util.Vector<Example> dataset, int depth, java.util.Vector<Feature> unusedFeatures, int lastFeature, int from, int to)
           
 int batchTrain(java.util.Vector<Example> dataset, int depth, java.util.Vector<Feature> unusedFeatures, int lastFeature, int from, int to, CompactDecisionTree tree)
           
 FastRandomTreeLearner setRandomSeed(long seed)
           
 FastRandomTreeLearner setSubsetSize(int subsetSize)
           
 
Methods inherited from class edu.cmu.minorthird.classify.algorithms.trees.RandomTreeLearner
batchTrain
 
Methods inherited from class edu.cmu.minorthird.classify.BatchBinaryClassifierLearner
batchTrainBinary, getBinaryClassifier, getSchema, setSchema
 
Methods inherited from class edu.cmu.minorthird.classify.BatchClassifierLearner
addExample, completeTraining, copy, getClassifier, hasNextQuery, nextQuery, reset, setInstancePool
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.cmu.minorthird.classify.ClassifierLearner
addExample, completeTraining, copy, getClassifier, hasNextQuery, nextQuery, reset, setInstancePool
 

Field Detail

subsetSize

public int subsetSize
Constructor Detail

FastRandomTreeLearner

public FastRandomTreeLearner()
Method Detail

setRandomSeed

public FastRandomTreeLearner setRandomSeed(long seed)

setSubsetSize

public FastRandomTreeLearner setSubsetSize(int subsetSize)

batchTrain

public Classifier batchTrain(java.util.List<Example> dataset,
                             java.util.Vector<Feature> allFeatures)
Overrides:
batchTrain in class RandomTreeLearner

batchTrain

public Classifier batchTrain(Dataset dataset)
Description copied from class: BatchClassifierLearner
subclasses should use this method to implement a batch supervised learning algorithm.

Overrides:
batchTrain in class RandomTreeLearner

batchTrain

public Classifier batchTrain(java.util.Vector<Example> dataset,
                             int depth,
                             java.util.Vector<Feature> unusedFeatures,
                             int lastFeature,
                             int from,
                             int to)

batchTrain

public int batchTrain(java.util.Vector<Example> dataset,
                      int depth,
                      java.util.Vector<Feature> unusedFeatures,
                      int lastFeature,
                      int from,
                      int to,
                      CompactDecisionTree tree)