Package weka.classifiers.meta
Class AttributeSelectedClassifier
java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.SingleClassifierEnhancer
weka.classifiers.meta.AttributeSelectedClassifier
- All Implemented Interfaces:
Serializable
,Cloneable
,Classifier
,AdditionalMeasureProducer
,BatchPredictor
,CapabilitiesHandler
,CapabilitiesIgnorer
,CommandlineRunnable
,Drawable
,OptionHandler
,RevisionHandler
,WeightedInstancesHandler
public class AttributeSelectedClassifier
extends SingleClassifierEnhancer
implements OptionHandler, Drawable, AdditionalMeasureProducer, WeightedInstancesHandler
Dimensionality of training and test data is reduced by attribute selection before being passed on to a classifier.
Valid options are:
-E <attribute evaluator specification> Full class name of attribute evaluator, followed by its options. eg: "weka.attributeSelection.CfsSubsetEval -L" (default weka.attributeSelection.CfsSubsetEval)
-S <search method specification> Full class name of search method, followed by its options. eg: "weka.attributeSelection.BestFirst -D 1" (default weka.attributeSelection.BestFirst)
-D If set, classifier is run in debug mode and may output additional info to the console
-W Full name of base classifier. (default: weka.classifiers.trees.J48)
Options specific to classifier weka.classifiers.trees.J48:
-U Use unpruned tree.
-C <pruning confidence> Set confidence threshold for pruning. (default 0.25)
-M <minimum number of instances> Set minimum number of instances per leaf. (default 2)
-R Use reduced error pruning.
-N <number of folds> Set number of folds for reduced error pruning. One fold is used as pruning set. (default 3)
-B Use binary splits only.
-S Don't perform subtree raising.
-L Do not clean up after the tree has been built.
-A Laplace smoothing for predicted probabilities.
-Q <seed> Seed for random data shuffling (default 1).
- Version:
- $Revision: 15519 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz)
- See Also:
-
Field Summary
Fields inherited from class weka.classifiers.AbstractClassifier
BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT
Fields inherited from interface weka.core.Drawable
BayesNet, Newick, NOT_DRAWABLE, TREE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionTool tip text for this propertyvoid
buildClassifier
(Instances data) Build the classifier on the dimensionally reduced data.double[]
distributionForInstance
(Instance instance) Classifies a given instance after attribute selectiondouble[][]
Batch scoring method.Returns an enumeration of the additional measure namesReturns the tip text for this propertyGets the preferred batch size from the base learner if it implements BatchPredictor.Returns default capabilities of the classifier.Gets the attribute evaluator useddouble
getMeasure
(String additionalMeasureName) Returns the value of the named measureString[]
Gets the current settings of the Classifier.Returns the revision string.Gets the search method usedReturns a string describing this search methodgraph()
Returns graph describing the classifier (if possible).int
Returns the type of graph this classifier represents.boolean
Returns true if the base classifier implements BatchPredictor and is able to generate batch predictions efficientlyReturns an enumeration describing the available options.static void
Main method for testing this class.double
Additional measure --- number of attributes selecteddouble
Additional measure --- time taken (milliseconds) to select the attributesdouble
Additional measure --- time taken (milliseconds) to select attributes and build the classifierReturns the tip text for this propertyvoid
setBatchSize
(String size) Set the batch size to use.void
setEvaluator
(ASEvaluation evaluator) Sets the attribute evaluatorvoid
setOptions
(String[] options) Parses a given list of options.void
Sets the search methodtoString()
Output a representation of this classifierMethods inherited from class weka.classifiers.SingleClassifierEnhancer
classifierTipText, getClassifier, postExecution, preExecution, setClassifier
Methods inherited from class weka.classifiers.AbstractClassifier
classifyInstance, debugTipText, doNotCheckCapabilitiesTipText, forName, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, makeCopies, makeCopy, numDecimalPlacesTipText, run, runClassifier, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
Constructor Details
-
AttributeSelectedClassifier
public AttributeSelectedClassifier()Default constructor.
-
-
Method Details
-
globalInfo
Returns a string describing this search method- Returns:
- a description of the search method suitable for displaying in the explorer/experimenter gui
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classSingleClassifierEnhancer
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-E <attribute evaluator specification> Full class name of attribute evaluator, followed by its options. eg: "weka.attributeSelection.CfsSubsetEval -L" (default weka.attributeSelection.CfsSubsetEval)
-S <search method specification> Full class name of search method, followed by its options. eg: "weka.attributeSelection.BestFirst -D 1" (default weka.attributeSelection.BestFirst)
-D If set, classifier is run in debug mode and may output additional info to the console
-W Full name of base classifier. (default: weka.classifiers.trees.J48)
Options specific to classifier weka.classifiers.trees.J48:
-U Use unpruned tree.
-C <pruning confidence> Set confidence threshold for pruning. (default 0.25)
-M <minimum number of instances> Set minimum number of instances per leaf. (default 2)
-R Use reduced error pruning.
-N <number of folds> Set number of folds for reduced error pruning. One fold is used as pruning set. (default 3)
-B Use binary splits only.
-S Don't perform subtree raising.
-L Do not clean up after the tree has been built.
-A Laplace smoothing for predicted probabilities.
-Q <seed> Seed for random data shuffling (default 1).
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classSingleClassifierEnhancer
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
Gets the current settings of the Classifier.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classSingleClassifierEnhancer
- Returns:
- an array of strings suitable for passing to setOptions
-
evaluatorTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setEvaluator
Sets the attribute evaluator- Parameters:
evaluator
- the evaluator with all options set.
-
getEvaluator
Gets the attribute evaluator used- Returns:
- the attribute evaluator
-
searchTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setSearch
Sets the search method- Parameters:
search
- the search method with all options set.
-
getSearch
Gets the search method used- Returns:
- the search method
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Specified by:
getCapabilities
in interfaceClassifier
- Overrides:
getCapabilities
in classSingleClassifierEnhancer
- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Build the classifier on the dimensionally reduced data.- Specified by:
buildClassifier
in interfaceClassifier
- Parameters:
data
- the training data- Throws:
Exception
- if the classifier could not be built successfully
-
distributionForInstance
Classifies a given instance after attribute selection- Specified by:
distributionForInstance
in interfaceClassifier
- Overrides:
distributionForInstance
in classAbstractClassifier
- Parameters:
instance
- the instance to be classified- Returns:
- the class distribution
- Throws:
Exception
- if instance could not be classified successfully
-
batchSizeTipText
Tool tip text for this property- Overrides:
batchSizeTipText
in classAbstractClassifier
- Returns:
- the tool tip for this property
-
setBatchSize
Set the batch size to use. Gets passed through to the base learner if it implements BatchPredictor. Otherwise it is just ignored.- Specified by:
setBatchSize
in interfaceBatchPredictor
- Overrides:
setBatchSize
in classAbstractClassifier
- Parameters:
size
- the batch size to use
-
getBatchSize
Gets the preferred batch size from the base learner if it implements BatchPredictor. Returns 1 as the preferred batch size otherwise.- Specified by:
getBatchSize
in interfaceBatchPredictor
- Overrides:
getBatchSize
in classAbstractClassifier
- Returns:
- the batch size to use
-
distributionsForInstances
Batch scoring method. Calls the appropriate method for the base learner if it implements BatchPredictor. Otherwise it simply calls the distributionForInstance() method repeatedly.- Specified by:
distributionsForInstances
in interfaceBatchPredictor
- Overrides:
distributionsForInstances
in classAbstractClassifier
- Parameters:
insts
- the instances to get predictions for- Returns:
- an array of probability distributions, one for each instance
- Throws:
Exception
- if a problem occurs
-
implementsMoreEfficientBatchPrediction
public boolean implementsMoreEfficientBatchPrediction()Returns true if the base classifier implements BatchPredictor and is able to generate batch predictions efficiently- Specified by:
implementsMoreEfficientBatchPrediction
in interfaceBatchPredictor
- Overrides:
implementsMoreEfficientBatchPrediction
in classAbstractClassifier
- Returns:
- true if the base classifier can generate batch predictions efficiently
-
graphType
public int graphType()Returns the type of graph this classifier represents. -
graph
Returns graph describing the classifier (if possible). -
toString
Output a representation of this classifier -
measureNumAttributesSelected
public double measureNumAttributesSelected()Additional measure --- number of attributes selected- Returns:
- the number of attributes selected
-
measureSelectionTime
public double measureSelectionTime()Additional measure --- time taken (milliseconds) to select the attributes- Returns:
- the time taken to select attributes
-
measureTime
public double measureTime()Additional measure --- time taken (milliseconds) to select attributes and build the classifier- Returns:
- the total time (select attributes + build classifier)
-
enumerateMeasures
Returns an enumeration of the additional measure names- Specified by:
enumerateMeasures
in interfaceAdditionalMeasureProducer
- Returns:
- an enumeration of the measure names
-
getMeasure
Returns the value of the named measure- Specified by:
getMeasure
in interfaceAdditionalMeasureProducer
- Parameters:
additionalMeasureName
- the name of the measure to query for its value- Returns:
- the value of the named measure
- Throws:
IllegalArgumentException
- if the named measure is not supported
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classAbstractClassifier
- Returns:
- the revision
-
main
Main method for testing this class.- Parameters:
argv
- should contain the following arguments: -t training file [-T test file] [-c class index]
-