adams.data.weka.rowfinder
Class FilteredIQR

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.data.weka.rowfinder.AbstractRowFinder
              extended by adams.data.weka.rowfinder.AbstractTrainableRowFinder
                  extended by adams.data.weka.rowfinder.FilteredIQR
All Implemented Interfaces:
Debuggable, Destroyable, OptionHandler, ShallowCopySupporter<RowFinder>, SizeOfHandler, RowFinder, TrainableRowFinder, Serializable

public class FilteredIQR
extends AbstractTrainableRowFinder

Returns indices of rows that got identified as outliers/extreme values.

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-pre-filter <weka.filters.Filter> (property: preFilter)
    The filter to pre-filter the data with before subjecting it to the IQR filter.
    default: weka.filters.AllFilter
 
-filter <weka.filters.Filter> (property: filter)
    The IQR filter to use; parameters get set internally.
    default: weka.filters.unsupervised.attribute.InterquartileRange -R first-last -O 3.0 -E 6.0
 
-iqr <double> (property: iqr)
    IQR multipler for min/max values.
    default: 4.25
    minimum: 0.0
 
-attribute-range <adams.core.Range> (property: attributeRange)
    The attribute range to work on.
    default: first-last
 

Version:
$Revision: 5728 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
protected  weka.filters.unsupervised.attribute.InterquartileRange m_ActualFilter
          the actual IQR filter.
protected  weka.filters.unsupervised.attribute.InterquartileRange m_Filter
          the IQR filter.
protected  weka.filters.MultiFilter m_FullFilter
          the MultiFilter doing all the filtering.
protected  double m_IQR
          the maximum value of the attribute.
protected  weka.filters.Filter m_PreFilter
          the filter to apply to the data first.
protected  Range m_Range
          the attribute range to work on.
 
Fields inherited from class adams.data.weka.rowfinder.AbstractTrainableRowFinder
m_Trained
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Constructor Summary
FilteredIQR()
           
 
Method Summary
 String attributeRangeTipText()
          Returns the tip text for this property.
 void defineOptions()
          Adds options to the internal list of options.
protected  int[] doFindRows(weka.core.Instances data)
          Returns the rows of interest in the dataset.
protected  boolean doTrainRowFinder(weka.core.Instances data)
          Performs the actual training of the row finder with the specified dataset.
 String filterTipText()
          Returns the tip text for this property.
 Range getAttributeRange()
          Returns the attribute range to work on.
 weka.filters.Filter getFilter()
          Returns the IQR filter.
 double getIqr()
          Returns the iqr multiplier.
 weka.filters.Filter getPreFilter()
          Returns the pre filter.
 String globalInfo()
          Returns a string describing the object.
protected  void initialize()
          Initializes the members.
 String iqrTipText()
          Returns the tip text for this property.
 String preFilterTipText()
          Returns the tip text for this property.
protected  void reset()
          Resets the object.
 void setAttributeRange(Range value)
          Sets the attribute range to work on.
 void setFilter(weka.filters.Filter value)
          Sets the IQR filter.
 void setIqr(double value)
          Sets the IQR multiplier.
 void setPreFilter(weka.filters.Filter value)
          Sets the pre filter.
 
Methods inherited from class adams.data.weka.rowfinder.AbstractTrainableRowFinder
check, isRowFinderTrained, trainRowFinder
 
Methods inherited from class adams.data.weka.rowfinder.AbstractRowFinder
arrayToHashSet, compareTo, equals, findRows, forCommandLine, forName, getRowFinders, shallowCopy, shallowCopy
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debug, debugLevelTipText, destroy, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut, sizeOf
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.data.weka.rowfinder.RowFinder
findRows
 

Field Detail

m_PreFilter

protected weka.filters.Filter m_PreFilter
the filter to apply to the data first.


m_Filter

protected weka.filters.unsupervised.attribute.InterquartileRange m_Filter
the IQR filter.


m_ActualFilter

protected weka.filters.unsupervised.attribute.InterquartileRange m_ActualFilter
the actual IQR filter.


m_IQR

protected double m_IQR
the maximum value of the attribute.


m_Range

protected Range m_Range
the attribute range to work on.


m_FullFilter

protected weka.filters.MultiFilter m_FullFilter
the MultiFilter doing all the filtering.

Constructor Detail

FilteredIQR

public FilteredIQR()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractOptionHandler

initialize

protected void initialize()
Initializes the members.

Overrides:
initialize in class AbstractOptionHandler

reset

protected void reset()
Resets the object.

Overrides:
reset in class AbstractTrainableRowFinder

setPreFilter

public void setPreFilter(weka.filters.Filter value)
Sets the pre filter.

Parameters:
value - the filter

getPreFilter

public weka.filters.Filter getPreFilter()
Returns the pre filter.

Returns:
the filter

preFilterTipText

public String preFilterTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setFilter

public void setFilter(weka.filters.Filter value)
Sets the IQR filter.

Parameters:
value - the filter

getFilter

public weka.filters.Filter getFilter()
Returns the IQR filter.

Returns:
the filter

filterTipText

public String filterTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setIqr

public void setIqr(double value)
Sets the IQR multiplier.

Parameters:
value - iqr

getIqr

public double getIqr()
Returns the iqr multiplier.

Returns:
the iqr

iqrTipText

public String iqrTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setAttributeRange

public void setAttributeRange(Range value)
Sets the attribute range to work on.

Parameters:
value - the range

getAttributeRange

public Range getAttributeRange()
Returns the attribute range to work on.

Returns:
the range

attributeRangeTipText

public String attributeRangeTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

doTrainRowFinder

protected boolean doTrainRowFinder(weka.core.Instances data)
Performs the actual training of the row finder with the specified dataset.

Specified by:
doTrainRowFinder in class AbstractTrainableRowFinder
Parameters:
data - the training data
Returns:
true if successfully trained

doFindRows

protected int[] doFindRows(weka.core.Instances data)
Returns the rows of interest in the dataset.

Specified by:
doFindRows in class AbstractRowFinder
Parameters:
data - the dataset to inspect
Returns:
the rows of interest


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.