Package adams.flow.transformer
Class WekaInstancesInfo
- 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.WekaInstancesInfo
-
- 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.DataInfoActor,adams.flow.core.ErrorHandler,adams.flow.core.InputConsumer,adams.flow.core.OutputProducer,Serializable,Comparable
public class WekaInstancesInfo extends adams.flow.transformer.AbstractArrayProvider implements adams.flow.core.DataInfoActorOutputs statistics of a weka.core.Instances object.
FULL_ATTRIBUTE and FULL_CLASS output a spreadsheet with detailed attribute statistics. All others output either strings, integers or doubles (or arrays of them, in case of counts/distribution).
Input/output:
- accepts:
weka.core.Instances
weka.core.Instance
- 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: WekaInstancesInfo
-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) Whether to output the values one-by-one or as array (counts or distributions are always output as array). default: false
-type <FULL|FULL_ATTRIBUTE|FULL_CLASS|HEADER|RELATION_NAME|NUM_ATTRIBUTES|NUM_INSTANCES|NUM_CLASS_LABELS|ATTRIBUTE_NAME|ATTRIBUTE_NAMES|CLASS_ATTRIBUTE_NAME|LABELS|CLASS_LABELS|NUM_LABELS|NUM_MISSING_VALUES|NUM_DISTINCT_VALUES|NUM_UNIQUE_VALUES|LABEL_COUNT|CLASS_LABEL_COUNT|LABEL_COUNTS|CLASS_LABEL_COUNTS|LABEL_DISTRIBUTION|CLASS_LABEL_DISTRIBUTION|MIN|MAX|MEAN|STDEV|ATTRIBUTE_TYPE|CLASS_TYPE> (property: type) The type of information to generate; NB some of the types are only available for numeric or nominal attributes. default: FULL
-attribute-index <adams.data.weka.WekaAttributeIndex> (property: attributeIndex) The attribute index to use for generating attribute-specific information; An index is a number starting with 1; apart from attribute names (case-sensitive ), the following placeholders can be used as well: first, second, third, last_2, last_1, last; numeric indices can be enforced by preceding them with '#' (eg '#12'); attribute names can be surrounded by double quotes. default: last example: An index is a number starting with 1; apart from attribute names (case-sensitive), the following placeholders can be used as well: first, second, third, last_2, last_1, last; numeric indices can be enforced by preceding them with '#' (eg '#12'); attribute names can be surrounded by double quotes.
-label-index <adams.data.weka.WekaLabelIndex> (property: labelIndex) The index of the label to use; An index is a number starting with 1; apart from label names (case-sensitive), the following placeholders can be used as well: first, second, third, last_2, last_1, last; numeric indices can be enforced by preceding them with '#' (eg '#12'); label names can be surrounded by double quotes. default: first example: An index is a number starting with 1; apart from label names (case-sensitive), the following placeholders can be used as well: first, second, third, last_2, last_1, last; numeric indices can be enforced by preceding them with '#' (eg '#12'); label names can be surrounded by double quotes.
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWekaInstancesInfo.InfoTypeThe type of information to generate.
-
Field Summary
Fields Modifier and Type Field Description protected WekaAttributeIndexm_AttributeIndexthe index of the attribute to get the information for.protected adams.core.DateFormatm_DateFormatfor formatting dates.protected WekaLabelIndexm_LabelIndexthe index of the label.protected WekaInstancesInfo.InfoTypem_Typethe type of information to generate.-
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 WekaInstancesInfo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]accepts()Returns the class that the consumer accepts.protected voidaddStatistic(adams.data.spreadsheet.SpreadSheet sheet, String name, Object value)Adds a statistic to the dataset.StringattributeIndexTipText()Returns the tip text for this property.voiddefineOptions()Adds options to the internal list of options.protected StringdoExecute()Executes the flow item.protected ObjectformatDate(double value)Formats date stats.WekaAttributeIndexgetAttributeIndex()Returns the attribute index to use for attribute specific information.protected adams.data.spreadsheet.SpreadSheetgetAttributeStats(weka.core.Instances data, int index)Generates attributes statistics.protected ClassgetItemClass()Returns the base class of the items.WekaLabelIndexgetLabelIndex()Returns the index of the label to use.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.WekaInstancesInfo.InfoTypegetType()Returns the type of information to generate.StringglobalInfo()Returns a string describing the object.StringlabelIndexTipText()Returns the tip text for this property.StringoutputArrayTipText()Returns the tip text for this property.voidsetAttributeIndex(WekaAttributeIndex value)Sets the attribute index to use for attribute-specific information.voidsetLabelIndex(WekaLabelIndex value)Sets the index of the label to use.voidsetType(WekaInstancesInfo.InfoType value)Sets the type of information to generate.StringtypeTipText()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, wrapUp
-
-
-
-
Field Detail
-
m_Type
protected WekaInstancesInfo.InfoType m_Type
the type of information to generate.
-
m_AttributeIndex
protected WekaAttributeIndex m_AttributeIndex
the index of the attribute to get the information for.
-
m_LabelIndex
protected WekaLabelIndex m_LabelIndex
the index of the label.
-
m_DateFormat
protected adams.core.DateFormat m_DateFormat
for formatting dates.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceadams.core.GlobalInfoSupporter- Specified by:
globalInfoin 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:
defineOptionsin interfaceadams.core.option.OptionHandler- Overrides:
defineOptionsin classadams.flow.transformer.AbstractArrayProvider
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfoin interfaceadams.flow.core.Actor- Specified by:
getQuickInfoin interfaceadams.core.QuickInfoSupporter- Overrides:
getQuickInfoin classadams.flow.core.AbstractActor- Returns:
- null if no info available, otherwise short string
-
outputArrayTipText
public String outputArrayTipText()
Returns the tip text for this property.- Specified by:
outputArrayTipTextin interfaceadams.core.ArrayProvider- Specified by:
outputArrayTipTextin interfaceadams.flow.core.ArrayProvider- Specified by:
outputArrayTipTextin classadams.flow.transformer.AbstractArrayProvider- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setType
public void setType(WekaInstancesInfo.InfoType value)
Sets the type of information to generate.- Parameters:
value- the type
-
getType
public WekaInstancesInfo.InfoType getType()
Returns the type of information to generate.- Returns:
- the type
-
typeTipText
public String typeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAttributeIndex
public void setAttributeIndex(WekaAttributeIndex value)
Sets the attribute index to use for attribute-specific information.- Parameters:
value- the 1-based index
-
getAttributeIndex
public WekaAttributeIndex getAttributeIndex()
Returns the attribute index to use for attribute specific information.- Returns:
- the 1-based index
-
attributeIndexTipText
public String attributeIndexTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLabelIndex
public void setLabelIndex(WekaLabelIndex value)
Sets the index of the label to use.- Parameters:
value- the 1-based index
-
getLabelIndex
public WekaLabelIndex getLabelIndex()
Returns the index of the label to use.- Returns:
- the 1-based index
-
labelIndexTipText
public String labelIndexTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
acceptsin interfaceadams.flow.core.InputConsumer- Returns:
- weka.core.Instances.class, weka.core.Instance.class
-
getItemClass
protected Class getItemClass()
Returns the base class of the items.- Specified by:
getItemClassin classadams.flow.transformer.AbstractArrayProvider- Returns:
- the class
-
addStatistic
protected void addStatistic(adams.data.spreadsheet.SpreadSheet sheet, String name, Object value)Adds a statistic to the dataset.- Parameters:
sheet- the spreadsheet to add the data toname- the name of the statisticvalue- the statistic (string, double, int)
-
formatDate
protected Object formatDate(double value)
Formats date stats.- Parameters:
value- the date (java epoch) to process- Returns:
- the (potentially) formatted value
-
getAttributeStats
protected adams.data.spreadsheet.SpreadSheet getAttributeStats(weka.core.Instances data, int index)Generates attributes statistics.- Parameters:
data- the dataset to useindex- the 0-based index of the attribute
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecutein classadams.flow.core.AbstractActor- Returns:
- null if everything is fine, otherwise error message
-
-