public class HoeffdingOptionTree extends AbstractClassifier
Hoeffding Option Trees are regular Hoeffding trees containing additional option nodes that allow several tests to be applied, leading to multiple Hoeffding trees as separate paths. They consist of a single structure that efficiently represents multiple trees. A particular example can travel down multiple paths of the tree, contributing, in different ways, to different options.
See for details:
B. Pfahringer, G. Holmes, and R. Kirkby. New options for hoeffding trees. In AI, pages 90–99, 2007.
Parameters:
Modifier and Type | Class and Description |
---|---|
static class |
HoeffdingOptionTree.ActiveLearningNode |
static class |
HoeffdingOptionTree.FoundNode |
static class |
HoeffdingOptionTree.InactiveLearningNode |
static class |
HoeffdingOptionTree.LearningNode |
static class |
HoeffdingOptionTree.LearningNodeNB |
static class |
HoeffdingOptionTree.LearningNodeNBAdaptive |
static class |
HoeffdingOptionTree.Node |
static class |
HoeffdingOptionTree.SplitNode |
Modifier and Type | Field and Description |
---|---|
protected double |
activeLeafByteSizeEstimate |
protected int |
activeLeafNodeCount |
FlagOption |
binarySplitsOption |
protected double |
byteSizeEstimateOverheadFraction |
protected int |
decisionNodeCount |
FileOption |
dumpFileOption |
IntOption |
gracePeriodOption |
protected double |
inactiveLeafByteSizeEstimate |
protected int |
inactiveLeafNodeCount |
MultiChoiceOption |
leafpredictionOption |
IntOption |
maxByteSizeOption |
IntOption |
maxOptionPathsOption |
protected int |
maxPredictionPaths |
IntOption |
memoryEstimatePeriodOption |
IntOption |
memoryStrategyOption |
IntOption |
nbThresholdOption |
ClassOption |
nominalEstimatorOption |
FlagOption |
noPrePruneOption |
ClassOption |
numericEstimatorOption |
FlagOption |
removePoorAttsOption |
FloatOption |
secondarySplitConfidenceOption |
FloatOption |
splitConfidenceOption |
ClassOption |
splitCriterionOption |
FloatOption |
tieThresholdOption |
protected HoeffdingOptionTree.Node |
treeRoot |
classifierRandom, modelContext, randomSeed, randomSeedOption, trainingWeightSeenByModel
classOptionNamesToPreparedObjects, options
Constructor and Description |
---|
HoeffdingOptionTree() |
Modifier and Type | Method and Description |
---|---|
protected void |
activateLearningNode(HoeffdingOptionTree.InactiveLearningNode toActivate,
HoeffdingOptionTree.SplitNode parent,
int parentBranch) |
protected void |
attemptToSplit(HoeffdingOptionTree.ActiveLearningNode node,
HoeffdingOptionTree.SplitNode parent,
int parentIndex) |
int |
calcByteSize() |
static double |
computeHoeffdingBound(double range,
double confidence,
double n) |
void |
deactivateAllLeaves() |
protected void |
deactivateLearningNode(HoeffdingOptionTree.ActiveLearningNode toDeactivate,
HoeffdingOptionTree.SplitNode parent,
int parentBranch) |
void |
enforceTrackerLimit() |
void |
estimateModelByteSizes() |
protected HoeffdingOptionTree.FoundNode[] |
findLearningNodes() |
protected void |
findLearningNodes(HoeffdingOptionTree.Node node,
HoeffdingOptionTree.SplitNode parent,
int parentBranch,
List<HoeffdingOptionTree.FoundNode> found) |
void |
getModelDescription(StringBuilder out,
int indent)
Returns a string representation of the model.
|
protected Measurement[] |
getModelMeasurementsImpl()
Gets the current measurements of this classifier.
The reason for ...Impl methods: ease programmer burden by not requiring them to remember calls to super in overridden methods. |
String |
getPurposeString()
Gets the purpose of this object
|
double[] |
getVotesForInstance(weka.core.Instance inst)
Predicts the class memberships for a given instance.
|
boolean |
isRandomizable()
Gets whether this classifier needs a random seed.
|
int |
measureByteSize()
Gets the memory size of this object.
|
int |
measureTreeDepth() |
protected HoeffdingOptionTree.LearningNode |
newLearningNode() |
protected HoeffdingOptionTree.LearningNode |
newLearningNode(double[] initialClassObservations) |
protected AttributeClassObserver |
newNominalClassObserver() |
protected AttributeClassObserver |
newNumericClassObserver() |
void |
resetLearningImpl()
Resets this classifier.
|
void |
trainOnInstanceImpl(weka.core.Instance inst)
Trains this classifier incrementally using the given instance.
The reason for ...Impl methods: ease programmer burden by not requiring them to remember calls to super in overridden methods. |
contextIsCompatible, copy, correctlyClassifies, getAttributeNameString, getAWTRenderer, getClassLabelString, getClassNameString, getDescription, getModelContext, getModelMeasurements, getNominalValueString, getSubClassifiers, modelAttIndexToInstanceAttIndex, modelAttIndexToInstanceAttIndex, prepareForUseImpl, resetLearning, setModelContext, setRandomSeed, trainingHasStarted, trainingWeightSeenByModel, trainOnInstance
discoverOptionsViaReflection, getCLICreationString, getOptions, getPreparedClassOption, getPreparedClassOption, prepareClassOptions, prepareForUse, prepareForUse
copy, measureByteSize, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getCLICreationString, getOptions, prepareForUse, prepareForUse
public IntOption maxOptionPathsOption
public IntOption maxByteSizeOption
public ClassOption numericEstimatorOption
public ClassOption nominalEstimatorOption
public IntOption memoryEstimatePeriodOption
public IntOption gracePeriodOption
public ClassOption splitCriterionOption
public FloatOption splitConfidenceOption
public FloatOption secondarySplitConfidenceOption
public FloatOption tieThresholdOption
public FlagOption binarySplitsOption
public FlagOption removePoorAttsOption
public FlagOption noPrePruneOption
public FileOption dumpFileOption
public IntOption memoryStrategyOption
protected HoeffdingOptionTree.Node treeRoot
protected int decisionNodeCount
protected int activeLeafNodeCount
protected int inactiveLeafNodeCount
protected double inactiveLeafByteSizeEstimate
protected double activeLeafByteSizeEstimate
protected double byteSizeEstimateOverheadFraction
protected int maxPredictionPaths
public MultiChoiceOption leafpredictionOption
public IntOption nbThresholdOption
public String getPurposeString()
OptionHandler
getPurposeString
in interface OptionHandler
getPurposeString
in class AbstractClassifier
public int calcByteSize()
public int measureByteSize()
MOAObject
measureByteSize
in interface MOAObject
measureByteSize
in class AbstractMOAObject
public void resetLearningImpl()
AbstractClassifier
resetLearningImpl
in class AbstractClassifier
public void trainOnInstanceImpl(weka.core.Instance inst)
AbstractClassifier
trainOnInstanceImpl
in class AbstractClassifier
inst
- the instance to be used for trainingpublic double[] getVotesForInstance(weka.core.Instance inst)
Classifier
inst
- the instance to be classifiedprotected Measurement[] getModelMeasurementsImpl()
AbstractClassifier
getModelMeasurementsImpl
in class AbstractClassifier
public int measureTreeDepth()
public void getModelDescription(StringBuilder out, int indent)
AbstractClassifier
getModelDescription
in class AbstractClassifier
out
- the stringbuilder to add the descriptionindent
- the number of characters to indentpublic boolean isRandomizable()
Classifier
public static double computeHoeffdingBound(double range, double confidence, double n)
protected AttributeClassObserver newNominalClassObserver()
protected AttributeClassObserver newNumericClassObserver()
protected void attemptToSplit(HoeffdingOptionTree.ActiveLearningNode node, HoeffdingOptionTree.SplitNode parent, int parentIndex)
public void enforceTrackerLimit()
public void estimateModelByteSizes()
public void deactivateAllLeaves()
protected void deactivateLearningNode(HoeffdingOptionTree.ActiveLearningNode toDeactivate, HoeffdingOptionTree.SplitNode parent, int parentBranch)
protected void activateLearningNode(HoeffdingOptionTree.InactiveLearningNode toActivate, HoeffdingOptionTree.SplitNode parent, int parentBranch)
protected HoeffdingOptionTree.FoundNode[] findLearningNodes()
protected void findLearningNodes(HoeffdingOptionTree.Node node, HoeffdingOptionTree.SplitNode parent, int parentBranch, List<HoeffdingOptionTree.FoundNode> found)
protected HoeffdingOptionTree.LearningNode newLearningNode()
protected HoeffdingOptionTree.LearningNode newLearningNode(double[] initialClassObservations)
Copyright © 2014 University of Waikato, Hamilton, NZ. All Rights Reserved.