Class FilteredSubsetEval

  • All Implemented Interfaces:
    java.io.Serializable, SubsetEvaluator, CapabilitiesHandler, OptionHandler, RevisionHandler

    public class FilteredSubsetEval
    extends ASEvaluation
    implements java.io.Serializable, SubsetEvaluator, OptionHandler
    Class for running an arbitrary subset evaluator on data that has been passed through an arbitrary filter (note: filters that alter the order or number of attributes are not allowed). Like the evaluator, the structure of the filter is based exclusively on the training data.

    Valid options are:

     -W <evaluator specification>
      Full name of base evaluator to use, followed by evaluator options.
      eg: "weka.attributeSelection.CfsSubsetEval -L"
     -F <filter specification>
      Full class name of filter to use, followed
      by filter options.
      eg: "weka.filters.supervised.instance.SpreadSubsample -M 1"
    Version:
    $Revision: 5562 $
    Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)
    See Also:
    Serialized Form
    • Constructor Detail

      • FilteredSubsetEval

        public FilteredSubsetEval()
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns:
        a description of the evaluator suitable for displaying in the explorer/experimenter gui
      • listOptions

        public java.util.Enumeration listOptions()
        Returns an enumeration describing the available options.
        Specified by:
        listOptions in interface OptionHandler
        Returns:
        an enumeration of all the available options.
      • setOptions

        public void setOptions​(java.lang.String[] options)
                        throws java.lang.Exception
        Parses a given list of options.

        Valid options are:

         -W <evaluator specification>
          Full name of base evaluator to use, followed by evaluator options.
          eg: "weka.attributeSelection.CfsSubsetEval -L"
         -F <filter specification>
          Full class name of filter to use, followed
          by filter options.
          eg: "weka.filters.supervised.instance.SpreadSubsample -M 1"
        Specified by:
        setOptions in interface OptionHandler
        Parameters:
        options - the list of options as an array of strings
        Throws:
        java.lang.Exception - if an option is not supported
      • getOptions

        public java.lang.String[] getOptions()
        Gets the current settings of the subset evaluator.
        Specified by:
        getOptions in interface OptionHandler
        Returns:
        an array of strings suitable for passing to setOptions
      • subsetEvaluatorTipText

        public java.lang.String subsetEvaluatorTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setSubsetEvaluator

        public void setSubsetEvaluator​(ASEvaluation newEvaluator)
        Set the subset evaluator to use
        Parameters:
        newEvaluator - the subset evaluator to use
      • getSubsetEvaluator

        public ASEvaluation getSubsetEvaluator()
        Get the subset evaluator to use
        Returns:
        the subset evaluator to use
      • filterTipText

        public java.lang.String filterTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setFilter

        public void setFilter​(Filter newFilter)
        Set the filter to use
        Parameters:
        newFilter - the filter to use
      • getFilter

        public Filter getFilter()
        Get the filter to use
        Returns:
        the filter to use
      • buildEvaluator

        public void buildEvaluator​(Instances data)
                            throws java.lang.Exception
        Initializes a filtered attribute evaluator.
        Specified by:
        buildEvaluator in class ASEvaluation
        Parameters:
        data - set of instances serving as training data
        Throws:
        java.lang.Exception - if the evaluator has not been generated successfully
      • evaluateSubset

        public double evaluateSubset​(java.util.BitSet subset)
                              throws java.lang.Exception
        evaluates a subset of attributes
        Specified by:
        evaluateSubset in interface SubsetEvaluator
        Parameters:
        subset - a bitset representing the attribute subset to be evaluated
        Returns:
        the "merit" of the subset
        Throws:
        java.lang.Exception - if the subset could not be evaluated
      • toString

        public java.lang.String toString()
        Describe the attribute evaluator
        Overrides:
        toString in class java.lang.Object
        Returns:
        a description of the attribute evaluator as a string
      • main

        public static void main​(java.lang.String[] args)
        Main method for testing this class.
        Parameters:
        args - the options