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.31 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
- See Also:
- Serialized Form
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 |
setThreshold(double t)
set the threshold by which to select features from a ranked list |
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 |
AttributeSelection
public AttributeSelection()
- constructor. Sets defaults for each member varaible. Default
attribute evaluator is CfsSubsetEval; default search method is
BestFirst.
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
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
setThreshold
public void setThreshold(double t)
- set the threshold by which to select features from a ranked list
- Parameters:
t
- the threshold
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 objectoptions
- 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 objectoptions
- an array of options, not only for the evaluator
but also the search method (if any) and an input data filetrain
- 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
Copyright (c)
2003 David Lindsay, Computer Learning Research Centre, Dept. Computer Science, Royal Holloway, University of London