Class WekaEvaluationValues

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, 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.ErrorHandler, adams.flow.core.InputConsumer, adams.flow.core.OutputProducer, Serializable, Comparable

    public class WekaEvaluationValues
    extends adams.flow.transformer.AbstractTransformer
    Generates a spreadsheet from statistics of an Evaluation object.

    Input/output:
    - accepts:
       weka.classifiers.Evaluation
       adams.flow.container.WekaEvaluationContainer
    - generates:
       adams.data.spreadsheet.SpreadSheet


    Container information:
    - adams.flow.container.WekaEvaluationContainer: Evaluation, Model

    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
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: WekaEvaluationValues
     
    -annotation <adams.core.base.BaseText> (property: annotations)
        The annotations to attach to this actor.
        default: 
     
    -skip (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded 
        as it is.
     
    -stop-flow-on-error (property: stopFlowOnError)
        If set to true, the flow gets stopped in case this actor encounters an error;
         useful for critical actors.
     
    -statistic <Number correct (nominal)|Number incorrect (nominal)|Number unclassified (nominal)|Percent correct (nominal)|Percent incorrect (nominal)|Percent unclassified (nominal)|Kappa statistic (nominal)|Mean absolute error|Root mean squared error|Relative absolute error|Root relative squared error|Correlation coefficient (numeric)|SF prior entropy|SF scheme entropy|SF entropy gain|SF mean prior entropy|SF mean scheme entropy|SF mean entropy gain|KB information (nominal)|KB mean information (nominal)|KB relative information (nominal)|True positive rate (nominal)|Num true positives (nominal)|False positive rate (nominal)|Num false positives (nominal)|True negative rate (nominal)|Num true negatives (nominal)|False negative rate (nominal)|Num false negatives (nominal)|IR precision (nominal)|IR recall (nominal)|F measure (nominal)|Matthews correlation coefficient (nominal)|Area under ROC (nominal)|Area under PRC (nominal)|Weighted true positive rate (nominal)|Weighted false positive rate (nominal)|Weighted true negative rate (nominal)|Weighted false negative rate (nominal)|Weighted IR precision (nominal)|Weighted IR recall (nominal)|Weighted F measure (nominal)|Weighted Matthews correlation coefficient (nominal)|Weighted area under ROC (nominal)|Weighted area under PRC (nominal)> [-statistic ...] (property: statisticValues)
        The evaluation values to extract and turn into a spreadsheet.
        default: PERCENT_CORRECT, ROOT_MEAN_SQUARED_ERROR, ROOT_RELATIVE_SQUARED_ERROR
     
    -index <adams.core.Range> (property: classIndex)
        The range of class label indices (eg used for AUC); A range is a comma-separated 
        list of single 1-based indices or sub-ranges of indices ('start-end'); '
        inv(...)' inverts the range '...'; the following placeholders can be used 
        as well: first, second, third, last_2, last_1, last
        default: first
     
    Version:
    $Revision$
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected WekaLabelRange m_ClassIndex
      the range of the class labels.
      protected EvaluationStatistic[] m_StatisticValues
      the comparison fields.
      • 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
      • Fields inherited from class adams.core.option.AbstractOptionHandler

        m_OptionManager
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
      • Fields inherited from interface adams.flow.core.Actor

        FILE_EXTENSION, FILE_EXTENSION_GZ
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Class[] accepts()
      Returns the class that the consumer accepts.
      protected String addStatistic​(weka.classifiers.Evaluation eval, adams.data.spreadsheet.SpreadSheet sheet, EvaluationStatistic statistic, int classIndex, boolean useIndex)
      Adds the specified statistic to the spreadsheet.
      String classIndexTipText()
      Returns the tip text for this property.
      void defineOptions()
      Adds options to the internal list of options.
      protected String doExecute()
      Executes the flow item.
      Class[] generates()
      Returns the class of objects that it generates.
      WekaLabelRange getClassIndex()
      Returns the current range of class label indices (1-based).
      String getQuickInfo()
      Returns a quick info about the actor, which will be displayed in the GUI.
      EvaluationStatistic[] getStatisticValues()
      Returns the values to extract.
      String globalInfo()
      Returns a string describing the object.
      void setClassIndex​(WekaLabelRange value)
      Sets the range of class labels indices (1-based).
      void setStatisticValues​(EvaluationStatistic[] value)
      Sets the values to extract.
      String statisticValuesTipText()
      Returns the tip text for this property.
      • Methods inherited from class adams.flow.transformer.AbstractTransformer

        backupState, currentInput, execute, hasInput, hasPendingOutput, input, output, postExecute, restoreState, wrapUp
      • 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, preExecute, pruneBackup, pruneBackup, reset, 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 interface adams.flow.core.Actor

        cleanUp, compareTo, destroy, equals, 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
      • Methods inherited from interface adams.core.AdditionalInformationHandler

        getAdditionalInformation
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel, setLoggingLevel
      • Methods inherited from interface adams.core.logging.LoggingSupporter

        getLogger, isLoggingEnabled
      • Methods inherited from interface adams.core.option.OptionHandler

        cleanUpOptions, getOptionManager
      • Methods inherited from interface adams.core.VariablesInspectionHandler

        canInspectOptions
    • Field Detail

      • m_ClassIndex

        protected WekaLabelRange m_ClassIndex
        the range of the class labels.
    • Constructor Detail

      • WekaEvaluationValues

        public WekaEvaluationValues()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.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 interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class adams.flow.core.AbstractActor
      • setStatisticValues

        public void setStatisticValues​(EvaluationStatistic[] value)
        Sets the values to extract.
        Parameters:
        value - the value
      • getStatisticValues

        public EvaluationStatistic[] getStatisticValues()
        Returns the values to extract.
        Returns:
        the value
      • statisticValuesTipText

        public String statisticValuesTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setClassIndex

        public void setClassIndex​(WekaLabelRange value)
        Sets the range of class labels indices (1-based).
        Parameters:
        value - the label indices
      • getClassIndex

        public WekaLabelRange getClassIndex()
        Returns the current range of class label indices (1-based).
        Returns:
        the label indices
      • classIndexTipText

        public String classIndexTipText()
        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 interface adams.flow.core.Actor
        Specified by:
        getQuickInfo in interface adams.core.QuickInfoSupporter
        Overrides:
        getQuickInfo in class adams.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.classifiers.Evaluation.class, adams.flow.container.WekaEvaluationContainer.class
      • addStatistic

        protected String addStatistic​(weka.classifiers.Evaluation eval,
                                      adams.data.spreadsheet.SpreadSheet sheet,
                                      EvaluationStatistic statistic,
                                      int classIndex,
                                      boolean useIndex)
        Adds the specified statistic to the spreadsheet.
        Parameters:
        eval - the Evaluation object to get the statist from
        sheet - the sheet to add the data to
        statistic - the statistic to add
        classIndex - the class index to use (for class-specific stats)
        useIndex - whether to use the index in the "Statistic" column
        Returns:
        null if successfully added, otherwise error message
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class adams.flow.core.AbstractActor
        Returns:
        null if everything is fine, otherwise error message
      • generates

        public Class[] generates()
        Returns the class of objects that it generates.
        Returns:
        adams.data.spreadsheet.SpreadSheet.class