Class Veto

  • All Implemented Interfaces:
    Serializable, Cloneable, weka.classifiers.Classifier, weka.core.BatchPredictor, weka.core.CapabilitiesHandler, weka.core.CapabilitiesIgnorer, weka.core.CommandlineRunnable, ModelOutputHandler, weka.core.OptionHandler, weka.core.RevisionHandler

    public class Veto
    extends weka.classifiers.MultipleClassifiersCombiner
    implements ModelOutputHandler
    If the specified label is predicted by the required minimum number of classifiers of the ensemble, then this label is predicted. Otherwise, Vote with majority rule is used.

    Valid options are:

     -label <value>
      The index of the label to check.
      (default: first)
     -support <value>
      The percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it
      (default: 1.0)
     -suppress-model-output
      If enabled, suppresses any large model output.
     -B <classifier specification>
      Full class name of classifier to include, followed
      by scheme options. May be specified multiple times.
      (default: "weka.classifiers.rules.ZeroR")
     -output-debug-info
      If set, classifier is run in debug mode and
      may output additional info to the console
     -do-not-check-capabilities
      If set, classifier capabilities are not checked before classifier is built
      (use with caution).
     
     Options specific to classifier weka.classifiers.rules.ZeroR:
     
     -output-debug-info
      If set, classifier is run in debug mode and
      may output additional info to the console
     -do-not-check-capabilities
      If set, classifier capabilities are not checked before classifier is built
      (use with caution).
    Version:
    $Revision$
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String LABEL  
      protected int m_ActualLabel
      the index of the label to check.
      protected int m_ActualSupport
      the actual number of classifiers that need to support the label.
      protected WekaLabelIndex m_Label
      the label to check.
      protected double m_Support
      the percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it.
      protected boolean m_SuppressModelOutput
      whether to suppress the model output.
      protected weka.classifiers.meta.Vote m_Vote
      the ensemble.
      static String SUPPORT  
      static String SUPPRESS_MODEL_OUTPUT  
      • Fields inherited from class weka.classifiers.MultipleClassifiersCombiner

        m_Classifiers
      • Fields inherited from class weka.classifiers.AbstractClassifier

        BATCH_SIZE_DEFAULT, m_BatchSize, m_Debug, m_DoNotCheckCapabilities, m_numDecimalPlaces, NUM_DECIMAL_PLACES_DEFAULT
    • Constructor Summary

      Constructors 
      Constructor Description
      Veto()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void buildClassifier​(weka.core.Instances data)
      Builds the ensemble.
      double classifyInstance​(weka.core.Instance instance)
      Predicts the class label index for the given instance.
      weka.core.Capabilities getCapabilities()
      Returns the ensemble's capabilities.
      protected WekaLabelIndex getDefaultLabel()
      Returns the default label index.
      protected double getDefaultSupport()
      Returns the percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it.
      WekaLabelIndex getLabel()
      Returns the label index.
      String[] getOptions()
      Gets the current option settings for the OptionHandler.
      double getSupport()
      Returns the percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it.
      boolean getSuppressModelOutput()
      Returns whether to output the model with the toString() method or not.
      String globalInfo()
      Returns a string describing classifier
      String labelTipText()
      Returns the tip text for this property.
      Enumeration listOptions()
      Returns an enumeration describing the available options.
      void setLabel​(WekaLabelIndex value)
      Sets the label index to use.
      void setOptions​(String[] options)
      Sets the OptionHandler's options using the given list.
      void setSupport​(double value)
      Sets the percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it.
      void setSuppressModelOutput​(boolean value)
      Sets whether to output the model with the toString() method or not.
      String supportTipText()
      Returns the tip text for this property.
      String suppressModelOutputTipText()
      Returns the tip text for this property.
      String toString()
      Outputs the ensemble model.
      • Methods inherited from class weka.classifiers.MultipleClassifiersCombiner

        classifiersTipText, getClassifier, getClassifiers, getClassifierSpec, postExecution, preExecution, setClassifiers
      • Methods inherited from class weka.classifiers.AbstractClassifier

        batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, getRevision, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
    • Field Detail

      • m_ActualLabel

        protected int m_ActualLabel
        the index of the label to check.
      • m_Support

        protected double m_Support
        the percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it.
      • m_ActualSupport

        protected int m_ActualSupport
        the actual number of classifiers that need to support the label.
      • m_Vote

        protected weka.classifiers.meta.Vote m_Vote
        the ensemble.
      • m_SuppressModelOutput

        protected boolean m_SuppressModelOutput
        whether to suppress the model output.
    • Constructor Detail

      • Veto

        public Veto()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing classifier
        Returns:
        a description suitable for displaying in the gui
      • getDefaultLabel

        protected WekaLabelIndex getDefaultLabel()
        Returns the default label index.
        Returns:
        the default
      • setLabel

        public void setLabel​(WekaLabelIndex value)
        Sets the label index to use.
        Parameters:
        value - the label index
      • getLabel

        public WekaLabelIndex getLabel()
        Returns the label index.
        Returns:
        the label index
      • labelTipText

        public String labelTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • getDefaultSupport

        protected double getDefaultSupport()
        Returns the percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it.
        Returns:
        the default
      • setSupport

        public void setSupport​(double value)
        Sets the percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it.
        Parameters:
        value - the support
      • getSupport

        public double getSupport()
        Returns the percentage (0-1 excl) or number of base-classifiers (>= 1) that need to chose the label in order to predict it.
        Returns:
        the support
      • supportTipText

        public String supportTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the gui
      • setSuppressModelOutput

        public void setSuppressModelOutput​(boolean value)
        Sets whether to output the model with the toString() method or not.
        Specified by:
        setSuppressModelOutput in interface ModelOutputHandler
        Parameters:
        value - true if to suppress model output
      • getSuppressModelOutput

        public boolean getSuppressModelOutput()
        Returns whether to output the model with the toString() method or not.
        Specified by:
        getSuppressModelOutput in interface ModelOutputHandler
        Returns:
        the label index
      • suppressModelOutputTipText

        public String suppressModelOutputTipText()
        Returns the tip text for this property.
        Specified by:
        suppressModelOutputTipText in interface ModelOutputHandler
        Returns:
        tip text for this property suitable for displaying in the gui
      • listOptions

        public Enumeration listOptions()
        Returns an enumeration describing the available options.
        Specified by:
        listOptions in interface weka.core.OptionHandler
        Overrides:
        listOptions in class weka.classifiers.MultipleClassifiersCombiner
        Returns:
        an enumeration of all the available options.
      • setOptions

        public void setOptions​(String[] options)
                        throws Exception
        Sets the OptionHandler's options using the given list. All options will be set (or reset) during this call (i.e. incremental setting of options is not possible).
        Specified by:
        setOptions in interface weka.core.OptionHandler
        Overrides:
        setOptions in class weka.classifiers.MultipleClassifiersCombiner
        Parameters:
        options - the list of options as an array of strings
        Throws:
        Exception - if an option is not supported
      • getOptions

        public String[] getOptions()
        Gets the current option settings for the OptionHandler.
        Specified by:
        getOptions in interface weka.core.OptionHandler
        Overrides:
        getOptions in class weka.classifiers.MultipleClassifiersCombiner
        Returns:
        the list of current option settings as an array of strings
      • getCapabilities

        public weka.core.Capabilities getCapabilities()
        Returns the ensemble's capabilities.
        Specified by:
        getCapabilities in interface weka.core.CapabilitiesHandler
        Specified by:
        getCapabilities in interface weka.classifiers.Classifier
        Overrides:
        getCapabilities in class weka.classifiers.MultipleClassifiersCombiner
        Returns:
        the capabilities
      • buildClassifier

        public void buildClassifier​(weka.core.Instances data)
                             throws Exception
        Builds the ensemble.
        Specified by:
        buildClassifier in interface weka.classifiers.Classifier
        Parameters:
        data - the training data
        Throws:
        Exception - if training fails
      • classifyInstance

        public double classifyInstance​(weka.core.Instance instance)
                                throws Exception
        Predicts the class label index for the given instance.
        Specified by:
        classifyInstance in interface weka.classifiers.Classifier
        Overrides:
        classifyInstance in class weka.classifiers.AbstractClassifier
        Parameters:
        instance - the instance to make the prediction for
        Returns:
        the class label index
        Throws:
        Exception - if prediction fails
      • toString

        public String toString()
        Outputs the ensemble model.
        Overrides:
        toString in class Object
        Returns:
        the model