Package moa.streams
Class ImbalancedStream
- java.lang.Object
-
- moa.AbstractMOAObject
-
- moa.options.AbstractOptionHandler
-
- moa.streams.ImbalancedStream
-
- All Implemented Interfaces:
Configurable
,Serializable
,CapabilitiesHandler
,MOAObject
,OptionHandler
,ExampleStream<Example<Instance>>
,InstanceStream
public class ImbalancedStream extends AbstractOptionHandler implements InstanceStream
Imbalanced Stream. This is a meta-generator that produces class imbalance in a stream. Only two parameters are required to be set: - The original stream - The ratio (proportion) of each class in the stream. The second parameter determines the ratio of each class in the output stream. The ratio of each class should be provided as a real number between 0.0 and 1.0, each being followed by a semicolon, and their sum should add up to 1.0. The default value of 0.9;0.1 stands for an output stream where approximately 90% of the instances belonging to the first class while the remainder 10% would belong to the secondary class.- Version:
- 1.0
- Author:
- Jean Paul Barddal (jean.barddal@ppgia.pucpr.br)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description StringOption
classRatioOption
IntOption
instanceRandomSeedOption
protected Instances[]
instancesBuffer
protected int
numClasses
protected ExampleStream
originalStream
protected double[]
probPerClass
protected Random
random
ClassOption
streamOption
-
Fields inherited from class moa.options.AbstractOptionHandler
config
-
-
Constructor Summary
Constructors Constructor Description ImbalancedStream()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
estimatedRemainingInstances()
Gets the estimated number of remaining instances in this streamvoid
getDescription(StringBuilder sb, int indent)
Returns a string representation of this object.InstancesHeader
getHeader()
Gets the header of this stream.boolean
hasMoreInstances()
Gets whether this stream has more instances to output.boolean
isRestartable()
Gets whether this stream can restart.Example<Instance>
nextInstance()
Gets the next example from this stream.protected 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, getPurposeString, 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.streams.ExampleStream
defineImmutableCapabilities
-
Methods inherited from interface moa.MOAObject
measureByteSize
-
-
-
-
Field Detail
-
streamOption
public ClassOption streamOption
-
classRatioOption
public StringOption classRatioOption
-
instanceRandomSeedOption
public IntOption instanceRandomSeedOption
-
originalStream
protected ExampleStream originalStream
-
instancesBuffer
protected Instances[] instancesBuffer
-
probPerClass
protected double[] probPerClass
-
random
protected Random random
-
numClasses
protected int numClasses
-
-
Method Detail
-
prepareForUseImpl
protected 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
-
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
-
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
-
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 Example<Instance> 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
-
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>>
-
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
-
-