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: 15520 $
- 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_DEFAULTFields inherited from interface weka.core.Drawable
BayesNet, Newick, NOT_DRAWABLE, TREE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionTool tip text for this propertyvoidbuildClassifier(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 useddoublegetMeasure(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).intReturns the type of graph this classifier represents.booleanReturns true if the base classifier implements BatchPredictor and is able to generate batch predictions efficientlyReturns an enumeration describing the available options.static voidMain method for testing this class.doubleAdditional measure --- number of attributes selecteddoubleAdditional measure --- time taken (milliseconds) to select the attributesdoubleAdditional measure --- time taken (milliseconds) to select attributes and build the classifierReturns the tip text for this propertyvoidsetBatchSize(String size) Set the batch size to use.voidsetEvaluator(ASEvaluation evaluator) Sets the attribute evaluatorvoidsetOptions(String[] options) Parses a given list of options.voidSets the search methodtoString()Output a representation of this classifierMethods inherited from class weka.classifiers.SingleClassifierEnhancer
classifierTipText, getClassifier, postExecution, preExecution, setClassifierMethods 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:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin 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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin 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:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin 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:
getCapabilitiesin interfaceCapabilitiesHandler- Specified by:
getCapabilitiesin interfaceClassifier- Overrides:
getCapabilitiesin classSingleClassifierEnhancer- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Build the classifier on the dimensionally reduced data.- Specified by:
buildClassifierin 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:
distributionForInstancein interfaceClassifier- Overrides:
distributionForInstancein 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:
batchSizeTipTextin 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:
setBatchSizein interfaceBatchPredictor- Overrides:
setBatchSizein 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:
getBatchSizein interfaceBatchPredictor- Overrides:
getBatchSizein 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:
distributionsForInstancesin interfaceBatchPredictor- Overrides:
distributionsForInstancesin 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:
implementsMoreEfficientBatchPredictionin interfaceBatchPredictor- Overrides:
implementsMoreEfficientBatchPredictionin 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:
enumerateMeasuresin interfaceAdditionalMeasureProducer- Returns:
- an enumeration of the measure names
-
getMeasure
Returns the value of the named measure- Specified by:
getMeasurein 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:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin 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]
-