public class SMOTE extends Filter implements SupervisedFilter, OptionHandler, TechnicalInformationHandler
@article{al.2002, author = {Nitesh V. Chawla et. al.}, journal = {Journal of Artificial Intelligence Research}, pages = {321-357}, title = {Synthetic Minority Over-sampling Technique}, volume = {16}, year = {2002} }Valid options are:
-S <num> Specifies the random number seed (default 1)
-P <percentage> Specifies percentage of SMOTE instances to create. (default 100.0)
-K <nearest-neighbors> Specifies the number of nearest neighbors to use. (default 5)
-C <value-index> Specifies the index of the nominal class value to SMOTE (default 0: auto-detect non-empty minority class))
Constructor and Description |
---|
SMOTE() |
Modifier and Type | Method and Description |
---|---|
boolean |
batchFinished()
Signify that this batch of input to the filter is finished.
|
java.lang.String |
classValueTipText()
Returns the tip text for this property.
|
Capabilities |
getCapabilities()
Returns the Capabilities of this filter.
|
java.lang.String |
getClassValue()
Gets the index of the class value to which SMOTE should be applied.
|
int |
getNearestNeighbors()
Gets the number of nearest neighbors to use.
|
java.lang.String[] |
getOptions()
Gets the current settings of the filter.
|
double |
getPercentage()
Gets the percentage of SMOTE instances to create.
|
int |
getRandomSeed()
Gets the random number seed.
|
java.lang.String |
getRevision()
Returns the revision string.
|
TechnicalInformation |
getTechnicalInformation()
Returns an instance of a TechnicalInformation object, containing detailed
information about the technical background of this class, e.g., paper
reference or book this class is based on.
|
java.lang.String |
globalInfo()
Returns a string describing this classifier.
|
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[] args)
Main method for running this filter.
|
java.lang.String |
nearestNeighborsTipText()
Returns the tip text for this property.
|
java.lang.String |
percentageTipText()
Returns the tip text for this property.
|
java.lang.String |
randomSeedTipText()
Returns the tip text for this property.
|
void |
setClassValue(java.lang.String value)
Sets the index of the class value to which SMOTE should be applied.
|
boolean |
setInputFormat(Instances instanceInfo)
Sets the format of the input instances.
|
void |
setNearestNeighbors(int value)
Sets the number of nearest neighbors to use.
|
void |
setOptions(java.lang.String[] options)
Parses a given list of options.
|
void |
setPercentage(double value)
Sets the percentage of SMOTE instances to create.
|
void |
setRandomSeed(int value)
Sets the random number seed.
|
batchFilterFile, filterFile, getCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, numPendingOutput, output, outputPeek, toString, useFilter, wekaStaticWrapper
public java.lang.String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation
in interface TechnicalInformationHandler
public java.lang.String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class Filter
public Capabilities getCapabilities()
getCapabilities
in interface CapabilitiesHandler
getCapabilities
in class Filter
Capabilities
public java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-S <num> Specifies the random number seed (default 1)
-P <percentage> Specifies percentage of SMOTE instances to create. (default 100.0)
-K <nearest-neighbors> Specifies the number of nearest neighbors to use. (default 5)
-C <value-index> Specifies the index of the nominal class value to SMOTE (default 0: auto-detect non-empty minority class))
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 java.lang.String randomSeedTipText()
public int getRandomSeed()
public void setRandomSeed(int value)
value
- the new random number seed.public java.lang.String percentageTipText()
public void setPercentage(double value)
value
- the percentage to usepublic double getPercentage()
public java.lang.String nearestNeighborsTipText()
public void setNearestNeighbors(int value)
value
- the number of nearest neighbors to usepublic int getNearestNeighbors()
public java.lang.String classValueTipText()
public void setClassValue(java.lang.String value)
value
- the class value indexpublic java.lang.String getClassValue()
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).java.lang.Exception
- if the input format can't be set successfullypublic boolean input(Instance instance)
public boolean batchFinished() throws java.lang.Exception
batchFinished
in class Filter
java.lang.IllegalStateException
- if no input structure has been definedjava.lang.Exception
- if provided options cannot be executed on input instancespublic static void main(java.lang.String[] args)
args
- should contain arguments to the filter: use -h for help