Class CostSensitiveAttributeEval

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

    public class CostSensitiveAttributeEval
    extends CostSensitiveASEvaluation
    implements java.io.Serializable, AttributeEvaluator, OptionHandler
    A meta subset evaluator that makes its base subset evaluator cost-sensitive.

    Valid options are:

     -C <cost file name>
      File name of a cost matrix to use. If this is not supplied,
      a cost matrix will be loaded on demand. The name of the
      on-demand file is the relation name of the training data
      plus ".cost", and the path to the on-demand file is
      specified with the -N option.
     -N <directory>
      Name of a directory to search for cost files when loading
      costs on demand (default current directory).
     -cost-matrix <matrix>
      The cost matrix in Matlab single line format.
     -S <integer>
      The seed to use for random number generation.
     -W
      Full name of base evaluator.
      (default: weka.attributeSelection.ReliefFAttributeEval)
     
     Options specific to evaluator weka.attributeSelection.ReliefFAttributeEval:
     
     -M <num instances>
      Specify the number of instances to
      sample when estimating attributes.
      If not specified, then all instances
      will be used.
     -D <seed>
      Seed for randomly sampling instances.
      (Default = 1)
     -K <number of neighbours>
      Number of nearest neighbours (k) used
      to estimate attribute relevances
      (Default = 10).
     -W
      Weight nearest neighbours by distance
     -A <num>
      Specify sigma value (used in an exp
      function to control how quickly
      weights for more distant instances
      decrease. Use in conjunction with -W.
      Sensible value=1/5 to 1/10 of the
      number of nearest neighbours.
      (Default = 2)
    Version:
    $Revision: 5562 $
    Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)
    See Also:
    Serialized Form
    • Constructor Detail

      • CostSensitiveAttributeEval

        public CostSensitiveAttributeEval()
        Default constructor.
    • Method Detail

      • setEvaluator

        public void setEvaluator​(ASEvaluation newEvaluator)
                          throws java.lang.IllegalArgumentException
        Set the base evaluator.
        Overrides:
        setEvaluator in class CostSensitiveASEvaluation
        Parameters:
        newEvaluator - the evaluator to use.
        Throws:
        java.lang.IllegalArgumentException - if the evaluator is not an instance of AttributeEvaluator
      • evaluateAttribute

        public double evaluateAttribute​(int attribute)
                                 throws java.lang.Exception
        Evaluates an individual attribute. Delegates the actual evaluation to the base attribute evaluator.
        Specified by:
        evaluateAttribute in interface AttributeEvaluator
        Parameters:
        attribute - the index of the attribute to be evaluated
        Returns:
        the "merit" of the attribute
        Throws:
        java.lang.Exception - if the attribute could not be evaluated
      • main

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