Package adams.flow.transformer
Class WekaInstancesHistogramRanges
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.transformer.AbstractTransformer
-
- adams.flow.transformer.AbstractArrayProvider
-
- adams.flow.transformer.WekaInstancesHistogramRanges
-
- All Implemented Interfaces:
adams.core.AdditionalInformationHandler
,adams.core.ArrayProvider
,adams.core.CleanUpHandler
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.flow.core.Actor>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,adams.core.VariablesInspectionHandler
,adams.event.VariableChangeListener
,adams.flow.core.Actor
,adams.flow.core.ArrayProvider
,adams.flow.core.ErrorHandler
,adams.flow.core.InputConsumer
,adams.flow.core.OutputProducer
,Serializable
,Comparable
public class WekaInstancesHistogramRanges extends adams.flow.transformer.AbstractArrayProvider
Outputs the ranges generated by adams.data.statistics.ArrayHistogram using the incoming weka.core.Instances object.
The actor just uses the internal format (double array) and does not check whether the attributes are actually numeric.
Input/output:
- accepts:
weka.core.Instances
- generates:
java.lang.String
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: WekaInstancesHistogramRanges
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors. default: false
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false
-output-array <boolean> (property: outputArray) If enabled, the ranges are output as array rather than one by one. default: false
-type <ROW_BY_INDEX|COLUMN_BY_INDEX|COLUMN_BY_REGEXP> (property: dataType) Whether to retrieve rows or columns from the Instances object. default: COLUMN_BY_INDEX
-location <adams.core.base.BaseString> [-location ...] (property: locations) The locations of the data, depending on the chosen data type that can be either indices, attribute names or regular expressions on the attribute names. default:
-bin-calc <MANUAL|FREQUENCY|DENSITY|STURGES|SCOTT|SQRT> (property: binCalculation) Defines how the number of bins are calculated. default: MANUAL
-num-bins <int> (property: numBins) The number of bins to use in case of manual bin calculation. default: 50 minimum: 1
-bin-width <double> (property: binWidth) The bin width to use for some of the calculations. default: 1.0 minimum: 1.0E-5
-normalize <boolean> (property: normalize) If set to true the data gets normalized first before the histogram is calculated. default: false
-use-fixed-min-max <boolean> (property: useFixedMinMax) If enabled, then the user-specified min/max values are used for the bin calculation rather than the min/max from the data (allows comparison of histograms when generating histograms over a range of arrays). default: false
-manual-min <double> (property: manualMin) The minimum to use when using manual binning with user-supplied min/max enabled. default: 0.0
-manual-max <double> (property: manualMax) The maximum to use when using manual binning with user-supplied max/max enabled. default: 1.0
-num-decimals <int> (property: numDecimals) The number of decimals to show in the bin descriptions. default: 3 minimum: 0
- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected adams.data.statistics.ArrayHistogram.BinCalculation
m_BinCalculation
how to calculate the number of bins.protected double
m_BinWidth
the bin width - used for some calculations.protected WekaInstancesStatisticDataType
m_DataType
the type of data to get from the Instances object (rows or columns).protected adams.core.base.BaseString[]
m_Locations
the array of indices/regular expressions.protected double
m_ManualMax
the manual maximum.protected double
m_ManualMin
the manual minimum.protected boolean
m_Normalize
whether to normalize the data.protected int
m_NumBins
the number of bins in case of manual bin calculation.protected int
m_NumDecimals
the number of decimals to show.protected boolean
m_UseFixedMinMax
whether to use fixed min/max for manual bin calculation.-
Fields inherited from class adams.flow.transformer.AbstractArrayProvider
BACKUP_INDEX, BACKUP_QUEUE, m_Index, m_OutputArray, m_Queue
-
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
-
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
-
Constructor Summary
Constructors Constructor Description WekaInstancesHistogramRanges()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.String
binCalculationTipText()
Returns the tip text for this property.String
binWidthTipText()
Returns the tip text for this property.String
dataTypeTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.protected String
doExecute()
Executes the flow item.adams.data.statistics.ArrayHistogram.BinCalculation
getBinCalculation()
Returns how the number of bins is calculated.double
getBinWidth()
Returns the bin width in use (for some calculations).WekaInstancesStatisticDataType
getDataType()
Returns what type of data to retrieve from the Instances object.protected Class
getItemClass()
Returns the base class of the items.adams.core.base.BaseString[]
getLocations()
Returns the locations of the data (indices/regular expressions on attribute name).double
getManualMax()
Returns the maximum to use when using manual binning with user-supplied max/max enabled.double
getManualMin()
Returns the minimum to use when using manual binning with user-supplied min/max enabled.boolean
getNormalize()
Returns whether to normalize the data before generating the histogram.int
getNumBins()
Returns the number of bins to use in manual calculation.int
getNumDecimals()
Returns the number of decimals to show in the bin description.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.boolean
getUseFixedMinMax()
Returns whether to use user-supplied min/max for bin calculation rather than obtain min/max from data.String
globalInfo()
Returns a string describing the object.String
locationsTipText()
Returns the tip text for this property.String
manualMaxTipText()
Returns the tip text for this property.String
manualMinTipText()
Returns the tip text for this property.String
normalizeTipText()
Returns the tip text for this property.String
numBinsTipText()
Returns the tip text for this property.String
numDecimalsTipText()
Returns the tip text for this property.String
outputArrayTipText()
Returns the tip text for this property.void
setBinCalculation(adams.data.statistics.ArrayHistogram.BinCalculation value)
Sets how the number of bins is calculated.void
setBinWidth(double value)
Sets the bin width to use (for some calculations).void
setDataType(WekaInstancesStatisticDataType value)
Sets what type of data to retrieve from the Instances object.void
setLocations(adams.core.base.BaseString[] value)
Sets the locations of the data (indices/regular expressions on attribute name).void
setManualMax(double value)
Sets the maximum to use when using manual binning with user-supplied max/max enabled.void
setManualMin(double value)
Sets the minimum to use when using manual binning with user-supplied min/max enabled.void
setNormalize(boolean value)
Sets whether to normalize the data before generating the histogram.void
setNumBins(int value)
Sets the number of bins to use in manual calculation.void
setNumDecimals(int value)
Sets the number of decimals to show in the bin description.void
setUseFixedMinMax(boolean value)
Sets whether to use user-supplied min/max for bin calculation rather than obtain min/max from data.String
useFixedMinMaxTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.transformer.AbstractArrayProvider
backupState, generates, getOutputArray, hasPendingOutput, output, preExecute, pruneBackup, reset, restoreState, setOutputArray, wrapUp
-
Methods inherited from class adams.flow.transformer.AbstractTransformer
currentInput, execute, hasInput, input, postExecute
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged
-
-
-
-
Field Detail
-
m_DataType
protected WekaInstancesStatisticDataType m_DataType
the type of data to get from the Instances object (rows or columns).
-
m_Locations
protected adams.core.base.BaseString[] m_Locations
the array of indices/regular expressions.
-
m_BinCalculation
protected adams.data.statistics.ArrayHistogram.BinCalculation m_BinCalculation
how to calculate the number of bins.
-
m_NumBins
protected int m_NumBins
the number of bins in case of manual bin calculation.
-
m_BinWidth
protected double m_BinWidth
the bin width - used for some calculations.
-
m_Normalize
protected boolean m_Normalize
whether to normalize the data.
-
m_UseFixedMinMax
protected boolean m_UseFixedMinMax
whether to use fixed min/max for manual bin calculation.
-
m_ManualMin
protected double m_ManualMin
the manual minimum.
-
m_ManualMax
protected double m_ManualMax
the manual maximum.
-
m_NumDecimals
protected int m_NumDecimals
the number of decimals to show.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.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 interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.flow.transformer.AbstractArrayProvider
-
getItemClass
protected Class getItemClass()
Returns the base class of the items.- Specified by:
getItemClass
in classadams.flow.transformer.AbstractArrayProvider
- Returns:
- the class
-
outputArrayTipText
public String outputArrayTipText()
Returns the tip text for this property.- Specified by:
outputArrayTipText
in interfaceadams.core.ArrayProvider
- Specified by:
outputArrayTipText
in interfaceadams.flow.core.ArrayProvider
- Specified by:
outputArrayTipText
in classadams.flow.transformer.AbstractArrayProvider
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setDataType
public void setDataType(WekaInstancesStatisticDataType value)
Sets what type of data to retrieve from the Instances object.- Parameters:
value
- the type of conversion
-
getDataType
public WekaInstancesStatisticDataType getDataType()
Returns what type of data to retrieve from the Instances object.- Returns:
- the type of conversion
-
dataTypeTipText
public String dataTypeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLocations
public void setLocations(adams.core.base.BaseString[] value)
Sets the locations of the data (indices/regular expressions on attribute name).- Parameters:
value
- the locations of the data
-
getLocations
public adams.core.base.BaseString[] getLocations()
Returns the locations of the data (indices/regular expressions on attribute name).- Returns:
- the locations of the data
-
locationsTipText
public String locationsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBinCalculation
public void setBinCalculation(adams.data.statistics.ArrayHistogram.BinCalculation value)
Sets how the number of bins is calculated.- Parameters:
value
- the bin calculation
-
getBinCalculation
public adams.data.statistics.ArrayHistogram.BinCalculation getBinCalculation()
Returns how the number of bins is calculated.- Returns:
- the bin calculation
-
binCalculationTipText
public String binCalculationTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNumBins
public void setNumBins(int value)
Sets the number of bins to use in manual calculation.- Parameters:
value
- the number of bins
-
getNumBins
public int getNumBins()
Returns the number of bins to use in manual calculation.- Returns:
- the number of bins
-
numBinsTipText
public String numBinsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBinWidth
public void setBinWidth(double value)
Sets the bin width to use (for some calculations).- Parameters:
value
- the bin width
-
getBinWidth
public double getBinWidth()
Returns the bin width in use (for some calculations).- Returns:
- the bin width
-
binWidthTipText
public String binWidthTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNormalize
public void setNormalize(boolean value)
Sets whether to normalize the data before generating the histogram.- Parameters:
value
- if true the data gets normalized first
-
getNormalize
public boolean getNormalize()
Returns whether to normalize the data before generating the histogram.- Returns:
- true if the data gets normalized first
-
normalizeTipText
public String normalizeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setUseFixedMinMax
public void setUseFixedMinMax(boolean value)
Sets whether to use user-supplied min/max for bin calculation rather than obtain min/max from data.- Parameters:
value
- true if to use user-supplied min/max
-
getUseFixedMinMax
public boolean getUseFixedMinMax()
Returns whether to use user-supplied min/max for bin calculation rather than obtain min/max from data.- Returns:
- true if to use user-supplied min/max
-
useFixedMinMaxTipText
public String useFixedMinMaxTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setManualMin
public void setManualMin(double value)
Sets the minimum to use when using manual binning with user-supplied min/max enabled.- Parameters:
value
- the minimum
-
getManualMin
public double getManualMin()
Returns the minimum to use when using manual binning with user-supplied min/max enabled.- Returns:
- the minimum
-
manualMinTipText
public String manualMinTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setManualMax
public void setManualMax(double value)
Sets the maximum to use when using manual binning with user-supplied max/max enabled.- Parameters:
value
- the maximum
-
getManualMax
public double getManualMax()
Returns the maximum to use when using manual binning with user-supplied max/max enabled.- Returns:
- the maximum
-
manualMaxTipText
public String manualMaxTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNumDecimals
public void setNumDecimals(int value)
Sets the number of decimals to show in the bin description.- Parameters:
value
- the number of decimals
-
getNumDecimals
public int getNumDecimals()
Returns the number of decimals to show in the bin description.- Returns:
- the number of decimals
-
numDecimalsTipText
public String numDecimalsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceadams.flow.core.Actor
- Specified by:
getQuickInfo
in interfaceadams.core.QuickInfoSupporter
- Overrides:
getQuickInfo
in classadams.flow.core.AbstractActor
- Returns:
- null if no info available, otherwise short string
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Returns:
- weka.core.Instances.class
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecute
in classadams.flow.core.AbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
-