|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--weka.filters.Filter | +--weka.filters.SpreadSubsampleFilter
Produces a random subsample of a dataset. The original dataset must fit entirely in memory. This filter allows you to specify the maximum "spread" between the rarest and most common class. For example, you may specify that there be at most a 2:1 difference in class frequencies. When used in batch mode, subsequent batches are not resampled. Valid options are:
-S num
Specify the random number seed (default 1).
-M num
The maximum class distribution spread.
0 = no maximum spread, 1 = uniform distribution, 10 = allow at most a
10:1 ratio between the classes (default 0)
-X num
The maximum count for any class value.
(default 0 = unlimited)
-W
Adjust weights so that total weight per class is maintained. Individual
instance weighting is not preserved. (default no weights adjustment)
Fields inherited from class weka.filters.Filter |
m_NewBatch |
Constructor Summary | |
SpreadSubsampleFilter()
|
Method Summary | |
boolean |
batchFinished()
Signify that this batch of input to the filter is finished. |
boolean |
getAdjustWeights()
Returns true if instance weights will be adjusted to maintain total weight per class. |
double |
getDistributionSpread()
Gets the value for the distribution spread |
double |
getMaxCount()
Gets the value for the max count |
java.lang.String[] |
getOptions()
Gets the current settings of the filter. |
int |
getRandomSeed()
Gets the random number seed. |
boolean |
input(Instance instance)
Input an instance for filtering. |
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options |
static void |
main(java.lang.String[] argv)
Main method for testing this class. |
void |
setAdjustWeights(boolean newAdjustWeights)
Sets whether the instance weights will be adjusted to maintain total weight per class. |
void |
setDistributionSpread(double spread)
Sets the value for the distribution spread |
boolean |
setInputFormat(Instances instanceInfo)
Sets the format of the input instances. |
void |
setMaxCount(double maxcount)
Sets the value for the max count |
void |
setOptions(java.lang.String[] options)
Parses a list of options for this object. |
void |
setRandomSeed(int newSeed)
Sets the random number seed. |
Methods inherited from class weka.filters.Filter |
batchFilterFile, bufferInput, copyStringValues, copyStringValues, filterFile, flushInput, getInputFormat, getInputStringIndex, getOutputFormat, getOutputStringIndex, getStringIndices, inputFormat, isOutputFormatDefined, numPendingOutput, output, outputFormat, outputFormatPeek, outputPeek, push, resetQueue, setOutputFormat, useFilter |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SpreadSubsampleFilter()
Method Detail |
public boolean getAdjustWeights()
public void setAdjustWeights(boolean newAdjustWeights)
newAdjustWeights
- public java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-S num
Specify the random number seed (default 1).
-M num
The maximum class distribution spread.
0 = no maximum spread, 1 = uniform distribution, 10 = allow at most a
10:1 ratio between the classes (default 0)
-X num
The maximum count for any class value.
(default 0 = unlimited)
-W
Adjust weights so that total weight per class is maintained. Individual
instance weighting is not preserved. (default no weights adjustment)
setOptions
in interface OptionHandler
options
- the list of options as an array of stringsjava.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
public void setDistributionSpread(double spread)
spread
- the new distribution spreadpublic double getDistributionSpread()
public void setMaxCount(double maxcount)
spread
- the new max countpublic double getMaxCount()
public int getRandomSeed()
public void setRandomSeed(int newSeed)
newSeed
- the new random number seed.public boolean setInputFormat(Instances instanceInfo) throws java.lang.Exception
setInputFormat
in class Filter
instanceInfo
- an Instances object containing the input
instance structure (any instances contained in the object are
ignored - only the structure is required).UnassignedClassException
- if no class attribute has been set.UnsupportedClassTypeException
- if the class attribute
is not nominal.public boolean input(Instance instance)
input
in class Filter
instance
- the input instancejava.lang.IllegalStateException
- if no input structure has been definedpublic boolean batchFinished()
batchFinished
in class Filter
java.lang.IllegalStateException
- if no input structure has been definedpublic static void main(java.lang.String[] argv)
argv
- should contain arguments to the filter:
use -h for help
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |