Class FilteredClassifier
- All Implemented Interfaces:
Serializable,Cloneable,Classifier,IterativeClassifier,BatchPredictor,CapabilitiesHandler,CapabilitiesIgnorer,CommandlineRunnable,Drawable,OptionHandler,PartitionGenerator,Randomizable,RevisionHandler,WeightedAttributesHandler,WeightedInstancesHandler
- Direct Known Subclasses:
RandomizableFilteredClassifier
-F <filter specification> Full class name of filter to use, followed by filter options. default: "weka.filters.supervised.attribute.Discretize -R first-last -precision 6"
-W <classifier name> Full name of base classifier. (default: weka.classifiers.trees.J48)
-S num The random number seed to be used (default 1).-doNotCheckForModifiedClassAttribute
If this is set, the classifier will not check whether the filter modifies the class attribute (use with caution).
-output-debug-info
If set, classifier is run in debug mode and may output additional info to
the console.
-do-not-check-capabilities
If set, classifier capabilities are not checked before classifier is built
(use with caution).
-num-decimal-places
The number of decimal places for the output of numbers in the model.
-batch-size
The desired batch size for batch prediction.
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.
-S <seed> Seed for random data shuffling (default 1).
- Version:
- $Revision: 15520 $
- Author:
- Len Trigg (trigg@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 filtered data.double[]distributionForInstance(Instance instance) Classifies a given instance after filtering.double[][]Batch scoring method.voiddone()Signal end of iterating, useful for any house-keeping/cleanup (If the base classifier supports this.)Returns the tip text for this propertyReturns the tip text for this propertyvoidgeneratePartition(Instances data) Builds the classifier to generate a partition.Gets the preferred batch size from the base learner if it implements BatchPredictor.Returns default capabilities of the classifier.booleanReturns true if classifier checks whether class attribute has been modified by filter.Gets the filter used.double[]getMembershipValues(Instance inst) Computes an array that has a value for each element in the partition.String[]Gets the current settings of the Classifier.booleanReturns true if the model is to be finalized (or has been finalized) after training.Returns the revision string.Returns a string describing this classifiergraph()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 efficientlyvoidInitializes an iterative classifier.Returns an enumeration describing the available options.static voidMain method for testing this class.booleannext()Performs one iteration.intReturns the number of elements in the partition.Tool tip text for finalize propertyvoidsetBatchSize(String size) Set the batch size to use.voidsetDoNotCheckForModifiedClassAttribute(boolean flag) Use this method to determine whether classifier checks whether class attribute has been modified by filter.voidSets the filtervoidsetOptions(String[] options) Parses a given list of options.voidsetResume(boolean resume) If called with argument true, then the next time done() is called the model is effectively "frozen" and no further iterations can be performedtoString()Output a representation of this classifierMethods inherited from class weka.classifiers.RandomizableSingleClassifierEnhancer
getSeed, seedTipText, setSeedMethods 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, setNumDecimalPlacesMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface weka.classifiers.Classifier
classifyInstance
-
Constructor Details
-
FilteredClassifier
public FilteredClassifier()Default constructor.
-
-
Method Details
-
globalInfo
Returns a string describing this classifier- Returns:
- a description of the classifier suitable for displaying in the explorer/experimenter gui
-
graphType
public int graphType()Returns the type of graph this classifier represents. -
graph
Returns graph describing the classifier (if possible). -
generatePartition
Builds the classifier to generate a partition. (If the base classifier supports this.)- Specified by:
generatePartitionin interfacePartitionGenerator- Throws:
Exception
-
getMembershipValues
Computes an array that has a value for each element in the partition. (If the base classifier supports this.)- Specified by:
getMembershipValuesin interfacePartitionGenerator- Throws:
Exception
-
numElements
Returns the number of elements in the partition. (If the base classifier supports this.)- Specified by:
numElementsin interfacePartitionGenerator- Throws:
Exception
-
initializeClassifier
Initializes an iterative classifier. (If the base classifier supports this.)- Specified by:
initializeClassifierin interfaceIterativeClassifier- Parameters:
data- the instances to be used in induction- Throws:
Exception- if the model cannot be initialized
-
next
Performs one iteration. (If the base classifier supports this.)- Specified by:
nextin interfaceIterativeClassifier- Returns:
- false if no further iterations could be performed, true otherwise
- Throws:
Exception- if this iteration fails for unexpected reasons
-
done
Signal end of iterating, useful for any house-keeping/cleanup (If the base classifier supports this.)- Specified by:
donein interfaceIterativeClassifier- Throws:
Exception- if cleanup fails
-
resumeTipText
Tool tip text for finalize property- Returns:
- the tool tip text for the finalize property
-
setResume
If called with argument true, then the next time done() is called the model is effectively "frozen" and no further iterations can be performed- Specified by:
setResumein interfaceIterativeClassifier- Parameters:
resume- true if the model is to be finalized after performing iterations- Throws:
Exception- if finalization cannot be set
-
getResume
public boolean getResume()Returns true if the model is to be finalized (or has been finalized) after training.- Specified by:
getResumein interfaceIterativeClassifier- Returns:
- the current value of finalize
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classRandomizableSingleClassifierEnhancer- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-F <filter specification> Full class name of filter to use, followed by filter options. default: "weka.filters.supervised.attribute.Discretize -R first-last -precision 6"
-W <classifier name> Full name of base classifier. (default: weka.classifiers.trees.J48)
-S num The random number seed to be used.
-doNotCheckForModifiedClassAttribute
If this is set, the classifier will not check whether the filter modifies the class attribute (use with caution).-output-debug-info
If set, classifier is run in debug mode and may output additional info to the console.-do-not-check-capabilities
If set, classifier capabilities are not checked before classifier is built (use with caution).-num-decimal-laces
The number of decimal places for the output of numbers in the model.-batch-size
The desired batch size for batch prediction.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 classRandomizableSingleClassifierEnhancer- Parameters:
options- the list of options as an array of strings- Throws:
Exception- if an option is not supported
-
doNotCheckForModifiedClassAttributeTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getDoNotCheckForModifiedClassAttribute
public boolean getDoNotCheckForModifiedClassAttribute()Returns true if classifier checks whether class attribute has been modified by filter. -
setDoNotCheckForModifiedClassAttribute
public void setDoNotCheckForModifiedClassAttribute(boolean flag) Use this method to determine whether classifier checks whether class attribute has been modified by filter. -
getOptions
Gets the current settings of the Classifier.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classRandomizableSingleClassifierEnhancer- Returns:
- an array of strings suitable for passing to setOptions
-
filterTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setFilter
Sets the filter- Parameters:
filter- the filter with all options set.
-
getFilter
Gets the filter used.- Returns:
- the filter
-
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 filtered 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 filtering.- Specified by:
distributionForInstancein interfaceClassifier- Overrides:
distributionForInstancein classAbstractClassifier- Parameters:
instance- the instance to be classified- Returns:
- the class distribution for the given instance
- 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
-
toString
Output a representation of this classifier -
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]
-