Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.attributeSelection
Class AttributeSelection

    java.lang.Object
      weka.attributeSelection.AttributeSelection

All Implemented Interfaces:
  java.io.Serializable

    public class AttributeSelection

extends java.lang.Object
implements java.io.Serializable

Attribute selection class. Takes the name of a search class and an evaluation class on the command line.

Valid options are:

-h
Display help.

-i <name of input file>
Specify the training arff file.

-c <class index>
The index of the attribute to use as the class.

-s <search method>
The full class name of the search method followed by search method options (if any).
Eg. -s "weka.attributeSelection.BestFirst -N 10"

-x <number of folds>
Perform a cross validation.

-n <random number seed>
Specify a random number seed. Use in conjuction with -x. (Default = 1).

------------------------------------------------------------------------

Example usage as the main of an attribute evaluator (called FunkyEvaluator):

     public static void main(String [] args) {
       try {
         ASEvaluator eval = new FunkyEvaluator();
         System.out.println(SelectAttributes(Evaluator, args));
       } catch (Exception e) {
         System.err.println(e.getMessage());
       }
     }

------------------------------------------------------------------------

Version:
  $Revision: 1.35.2.5 $
Author:
  Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  Serialized Form

Constructor Summary
`AttributeSelection()` constructor.

Method Summary
`java.lang.String` | `CrossValidateAttributes()` Perform a cross validation for attribute selection.
`java.lang.String` | `CVResultsString()` returns a string summarizing the results of repeated attribute selection runs on splits of a dataset.
`static void` | `main(java.lang.String[] args)` Main method for testing this class.
`int` | `numberAttributesSelected()` Return the number of attributes selected from the most recent run of attribute selection
`double[][]` | `rankedAttributes()` get the final ranking of the attributes.
`Instance` | `reduceDimensionality(Instance in)` reduce the dimensionality of a single instance to include only those attributes chosen by the last run of attribute selection.
`Instances` | `reduceDimensionality(Instances in)` reduce the dimensionality of a set of instances to include only those attributes chosen by the last run of attribute selection.
`static java.lang.String` | `SelectAttributes(ASEvaluation ASEvaluator, java.lang.String[] options)` Perform attribute selection with a particular evaluator and a set of options specifying search method and input file etc.
`static java.lang.String` | `SelectAttributes(ASEvaluation ASEvaluator, java.lang.String[] options, Instances train)` Perform attribute selection with a particular evaluator and a set of options specifying search method and options for the search method and evaluator.
`void` | `SelectAttributes(Instances data)` Perform attribute selection on the supplied training instances.
`void` | `selectAttributesCVSplit(Instances split)` Select attributes for a split of the data.
`int[]` | `selectedAttributes()` get the final selected set of attributes.
`void` | `setEvaluator(ASEvaluation evaluator)` set the attribute/subset evaluator
`void` | `setFolds(int folds)` set the number of folds for cross validation
`void` | `setRanking(boolean r)` produce a ranking (if possible with the set search and evaluator)
`void` | `setSearch(ASSearch search)` set the search method
`void` | `setSeed(int s)` set the seed for use in cross validation
`void` | `setXval(boolean x)` do a cross validation
`java.lang.String` | `toResultsString()` get a description of the attribute selection

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AttributeSelection

    public AttributeSelection()

  constructor. Sets defaults for each member varaible. Default attribute evaluator is CfsSubsetEval; default search method is BestFirst.

Method Detail

### numberAttributesSelected

    public int numberAttributesSelected()
                                 throws java.lang.Exception

  Return the number of attributes selected from the most recent run of attribute selection

  Returns:
    the number of attributes selected
  Throws:
    `java.lang.Exception`

### selectedAttributes

    public int[] selectedAttributes()
                             throws java.lang.Exception

  get the final selected set of attributes.

  Returns:
    an array of attribute indexes
  Throws:
    `java.lang.Exception` - if attribute selection has not been performed yet

### rankedAttributes

    public double[][] rankedAttributes()
                                throws java.lang.Exception

  get the final ranking of the attributes.

  Returns:
    a two dimensional array of ranked attribute indexes and their associated merit scores as doubles.
  Throws:
    `java.lang.Exception` - if a ranking has not been produced

### setEvaluator

    public void setEvaluator(ASEvaluation evaluator)

  set the attribute/subset evaluator

  Parameters:
    `evaluator` - the evaluator to use

### setSearch

    public void setSearch(ASSearch search)

  set the search method

  Parameters:
    `search` - the search method to use

### setFolds

    public void setFolds(int folds)

  set the number of folds for cross validation

  Parameters:
    `folds` - the number of folds

### setRanking

    public void setRanking(boolean r)

  produce a ranking (if possible with the set search and evaluator)

  Parameters:
    `r` - true if a ranking is to be produced

### setXval

    public void setXval(boolean x)

  do a cross validation

  Parameters:
    `x` - true if a cross validation is to be performed

### setSeed

    public void setSeed(int s)

  set the seed for use in cross validation

  Parameters:
    `s` - the seed

### toResultsString

    public java.lang.String toResultsString()

  get a description of the attribute selection

  Returns:
    a String describing the results of attribute selection

### reduceDimensionality

    public Instances reduceDimensionality(Instances in)
                                   throws java.lang.Exception

  reduce the dimensionality of a set of instances to include only those attributes chosen by the last run of attribute selection.

  Parameters:
    `in` - the instances to be reduced
  Returns:
    a dimensionality reduced set of instances
  Throws:
    `java.lang.Exception` - if the instances can't be reduced

### reduceDimensionality

    public Instance reduceDimensionality(Instance in)
                                  throws java.lang.Exception

  reduce the dimensionality of a single instance to include only those attributes chosen by the last run of attribute selection.

  Parameters:
    `in` - the instance to be reduced
  Returns:
    a dimensionality reduced instance
  Throws:
    `java.lang.Exception` - if the instance can't be reduced

### SelectAttributes

    public static java.lang.String SelectAttributes(ASEvaluation ASEvaluator,
                                                    java.lang.String[] options)
                                             throws java.lang.Exception

  Perform attribute selection with a particular evaluator and a set of options specifying search method and input file etc.

  Parameters:
    `ASEvaluator` - an evaluator object
    `options` - an array of options, not only for the evaluator but also the search method (if any) and an input data file
  Returns:
    the results of attribute selection as a String
  Throws:
    `java.lang.Exception` - if no training file is set

### CVResultsString

    public java.lang.String CVResultsString()
                                     throws java.lang.Exception

  returns a string summarizing the results of repeated attribute selection runs on splits of a dataset.

  Returns:
    a summary of attribute selection results
  Throws:
    `java.lang.Exception` - if no attribute selection has been performed.

### selectAttributesCVSplit

    public void selectAttributesCVSplit(Instances split)
                                 throws java.lang.Exception

  Select attributes for a split of the data. Calling this function updates the statistics on attribute selection. CVResultsString() returns a string summarizing the results of repeated calls to this function. Assumes that splits are from the same dataset--- ie. have the same number and types of attributes as previous splits.

  Parameters:
    `split` - the instances to select attributes from
  Throws:
    `java.lang.Exception` - if an error occurs

### CrossValidateAttributes

    public java.lang.String CrossValidateAttributes()
                                             throws java.lang.Exception

  Perform a cross validation for attribute selection. With subset evaluators the number of times each attribute is selected over the cross validation is reported. For attribute evaluators, the average merit and average ranking + std deviation is reported for each attribute.

  Returns:
    the results of cross validation as a String
  Throws:
    `java.lang.Exception` - if an error occurs during cross validation

### SelectAttributes

    public void SelectAttributes(Instances data)
                          throws java.lang.Exception

  Perform attribute selection on the supplied training instances.

  Parameters:
    `data` - the instances to select attributes from
  Throws:
    `java.lang.Exception` - if there is a problem during selection

### SelectAttributes

    public static java.lang.String SelectAttributes(ASEvaluation ASEvaluator,
                                                    java.lang.String[] options,
                                                    Instances train)
                                             throws java.lang.Exception

  Perform attribute selection with a particular evaluator and a set of options specifying search method and options for the search method and evaluator.

  Parameters:
    `ASEvaluator` - an evaluator object
    `options` - an array of options, not only for the evaluator but also the search method (if any) and an input data file
    `outAttributes` - index 0 will contain the array of selected attribute indices
    `train` - the input instances
  Returns:
    the results of attribute selection as a String
  Throws:
    `java.lang.Exception` - if incorrect options are supplied

### main

    public static void main(java.lang.String[] args)

  Main method for testing this class.

  Parameters:
    `args` - the options

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD