Package moa.streams.generators
Class RandomTreeGenerator
- java.lang.Object
-
- moa.AbstractMOAObject
-
- moa.options.AbstractOptionHandler
-
- moa.streams.generators.RandomTreeGenerator
-
- All Implemented Interfaces:
Configurable
,Serializable
,CapabilitiesHandler
,MOAObject
,OptionHandler
,ExampleStream<Example<Instance>>
,InstanceStream
public class RandomTreeGenerator extends AbstractOptionHandler implements InstanceStream, CapabilitiesHandler
Stream generator for a stream based on a randomly generated tree..- Version:
- $Revision: 7 $
- Author:
- Richard Kirkby (rkirkby@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
RandomTreeGenerator.Node
-
Field Summary
Fields Modifier and Type Field Description IntOption
firstLeafLevelOption
protected Random
instanceRandom
IntOption
instanceRandomSeedOption
FloatOption
leafFractionOption
IntOption
maxTreeDepthOption
IntOption
numClassesOption
IntOption
numNominalsOption
IntOption
numNumericsOption
IntOption
numValsPerNominalOption
protected InstancesHeader
streamHeader
IntOption
treeRandomSeedOption
protected RandomTreeGenerator.Node
treeRoot
-
Fields inherited from class moa.options.AbstractOptionHandler
config
-
-
Constructor Summary
Constructors Constructor Description RandomTreeGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
classifyInstance(RandomTreeGenerator.Node node, double[] attVals)
ImmutableCapabilities
defineImmutableCapabilities()
Defines the set of capabilities the object has.long
estimatedRemainingInstances()
Gets the estimated number of remaining instances in this streamprotected void
generateHeader()
protected void
generateRandomTree()
protected RandomTreeGenerator.Node
generateRandomTreeNode(int currentDepth, ArrayList<Integer> nominalAttCandidates, double[] minNumericVals, double[] maxNumericVals, Random treeRand)
void
getDescription(StringBuilder sb, int indent)
Returns a string representation of this object.InstancesHeader
getHeader()
Gets the header of this stream.String
getPurposeString()
Dictionary with option texts and objectsboolean
hasMoreInstances()
Gets whether this stream has more instances to output.boolean
isRestartable()
Gets whether this stream can restart.InstanceExample
nextInstance()
Gets the next example from this stream.void
prepareForUseImpl(TaskMonitor monitor, ObjectRepository repository)
This method describes the implementation of how to prepare this object for use.void
restart()
Restarts this stream.-
Methods inherited from class moa.options.AbstractOptionHandler
copy, getCLICreationString, getOptions, getPreparedClassOption, prepareClassOptions, prepareForUse, prepareForUse
-
Methods inherited from class moa.AbstractMOAObject
copy, measureByteSize, measureByteSize, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface moa.capabilities.CapabilitiesHandler
getCapabilities
-
Methods inherited from interface moa.MOAObject
measureByteSize
-
-
-
-
Field Detail
-
treeRandomSeedOption
public IntOption treeRandomSeedOption
-
instanceRandomSeedOption
public IntOption instanceRandomSeedOption
-
numClassesOption
public IntOption numClassesOption
-
numNominalsOption
public IntOption numNominalsOption
-
numNumericsOption
public IntOption numNumericsOption
-
numValsPerNominalOption
public IntOption numValsPerNominalOption
-
maxTreeDepthOption
public IntOption maxTreeDepthOption
-
firstLeafLevelOption
public IntOption firstLeafLevelOption
-
leafFractionOption
public FloatOption leafFractionOption
-
treeRoot
protected RandomTreeGenerator.Node treeRoot
-
streamHeader
protected InstancesHeader streamHeader
-
instanceRandom
protected Random instanceRandom
-
-
Method Detail
-
getPurposeString
public String getPurposeString()
Description copied from class:AbstractOptionHandler
Dictionary with option texts and objects- Specified by:
getPurposeString
in interfaceOptionHandler
- Overrides:
getPurposeString
in classAbstractOptionHandler
- Returns:
- the string with the purpose of this object
-
prepareForUseImpl
public void prepareForUseImpl(TaskMonitor monitor, ObjectRepository repository)
Description copied from class:AbstractOptionHandler
This method describes the implementation of how to prepare this object for use. All classes that extends this class have to implementprepareForUseImpl
and notprepareForUse
sinceprepareForUse
callsprepareForUseImpl
.- Specified by:
prepareForUseImpl
in classAbstractOptionHandler
- Parameters:
monitor
- the TaskMonitor to userepository
- the ObjectRepository to use
-
estimatedRemainingInstances
public long estimatedRemainingInstances()
Description copied from interface:ExampleStream
Gets the estimated number of remaining instances in this stream- Specified by:
estimatedRemainingInstances
in interfaceExampleStream<Example<Instance>>
- Returns:
- the estimated number of instances to get from this stream
-
isRestartable
public boolean isRestartable()
Description copied from interface:ExampleStream
Gets whether this stream can restart.- Specified by:
isRestartable
in interfaceExampleStream<Example<Instance>>
- Returns:
- true if this stream can restart
-
restart
public void restart()
Description copied from interface:ExampleStream
Restarts this stream. It must be similar to starting a new stream from scratch.- Specified by:
restart
in interfaceExampleStream<Example<Instance>>
-
getHeader
public InstancesHeader getHeader()
Description copied from interface:ExampleStream
Gets the header of this stream. This is useful to know attributes and classes. InstancesHeader is an extension of weka.Instances.- Specified by:
getHeader
in interfaceExampleStream<Example<Instance>>
- Returns:
- the header of this stream
-
hasMoreInstances
public boolean hasMoreInstances()
Description copied from interface:ExampleStream
Gets whether this stream has more instances to output. This is useful when reading streams from files.- Specified by:
hasMoreInstances
in interfaceExampleStream<Example<Instance>>
- Returns:
- true if this stream has more instances to output
-
nextInstance
public InstanceExample nextInstance()
Description copied from interface:ExampleStream
Gets the next example from this stream.- Specified by:
nextInstance
in interfaceExampleStream<Example<Instance>>
- Returns:
- the next example of this stream
-
classifyInstance
protected int classifyInstance(RandomTreeGenerator.Node node, double[] attVals)
-
generateHeader
protected void generateHeader()
-
generateRandomTree
protected void generateRandomTree()
-
generateRandomTreeNode
protected RandomTreeGenerator.Node generateRandomTreeNode(int currentDepth, ArrayList<Integer> nominalAttCandidates, double[] minNumericVals, double[] maxNumericVals, Random treeRand)
-
getDescription
public void getDescription(StringBuilder sb, int indent)
Description copied from interface:MOAObject
Returns a string representation of this object. Used inAbstractMOAObject.toString
to give a string representation of the object.- Specified by:
getDescription
in interfaceMOAObject
- Parameters:
sb
- the stringbuilder to add the descriptionindent
- the number of characters to indent
-
defineImmutableCapabilities
public ImmutableCapabilities defineImmutableCapabilities()
Description copied from interface:CapabilitiesHandler
Defines the set of capabilities the object has. Should be overridden if the object's capabilities do not change.- Specified by:
defineImmutableCapabilities
in interfaceCapabilitiesHandler
- Specified by:
defineImmutableCapabilities
in interfaceExampleStream<Example<Instance>>
- Returns:
- The capabilities of the object.
-
-