Package weka.classifiers.meta
Class Vote
- All Implemented Interfaces:
Serializable
,Cloneable
,CapabilitiesHandler
,OptionHandler
,Randomizable
,RevisionHandler
,TechnicalInformationHandler
public class Vote
extends RandomizableMultipleClassifiersCombiner
implements TechnicalInformationHandler
Class for combining classifiers. Different
combinations of probability estimates for classification are available.
For more information see:
Ludmila I. Kuncheva (2004). Combining Pattern Classifiers: Methods and Algorithms. John Wiley and Sons, Inc..
J. Kittler, M. Hatef, Robert P.W. Duin, J. Matas (1998). On combining classifiers. IEEE Transactions on Pattern Analysis and Machine Intelligence. 20(3):226-239. Valid options are:
For more information see:
Ludmila I. Kuncheva (2004). Combining Pattern Classifiers: Methods and Algorithms. John Wiley and Sons, Inc..
J. Kittler, M. Hatef, Robert P.W. Duin, J. Matas (1998). On combining classifiers. IEEE Transactions on Pattern Analysis and Machine Intelligence. 20(3):226-239. Valid options are:
-S <num> Random number seed. (default 1)
-B <classifier specification> Full class name of classifier to include, followed by scheme options. May be specified multiple times. (default: "weka.classifiers.rules.ZeroR")
-D If set, classifier is run in debug mode and may output additional info to the console
-R <AVG|PROD|MAJ|MIN|MAX|MED> The combination rule to use (default: AVG)BibTeX:
@book{Kuncheva2004, author = {Ludmila I. Kuncheva}, publisher = {John Wiley and Sons, Inc.}, title = {Combining Pattern Classifiers: Methods and Algorithms}, year = {2004} } @article{Kittler1998, author = {J. Kittler and M. Hatef and Robert P.W. Duin and J. Matas}, journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence}, number = {3}, pages = {226-239}, title = {On combining classifiers}, volume = {20}, year = {1998} }
- Version:
- $Revision: 12426 $
- Author:
- Alexander K. Seewald (alex@seewald.at), Eibe Frank (eibe@cs.waikato.ac.nz), Roberto Perdisci (roberto.perdisci@gmail.com)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
combination rule: Average of Probabilitiesstatic final int
combination rule: Majority Voting (only nominal classes)static final int
combination rule: Maximum Probabilitystatic final int
combination rule: Median Probability (only numeric class)static final int
combination rule: Minimum Probabilitystatic final int
combination rule: Product of Probabilities (only nominal classes)static final Tag[]
combination rules -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
buildClassifier
(Instances data) Buildclassifier selects a classifier from the set of classifiers by minimising error on the training data.double
classifyInstance
(Instance instance) Classifies the given test instance.Returns the tip text for this propertydouble[]
distributionForInstance
(Instance instance) Classifies a given instance using the selected combination rule.Returns default capabilities of the classifier.Gets the combination rule usedString[]
Gets the current settings of Vote.Returns the revision string.Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.Returns a string describing classifierReturns an enumeration describing the available options.static void
Main method for testing this class.void
setCombinationRule
(SelectedTag newRule) Sets the combination rule to use.void
setOptions
(String[] options) Parses a given list of options.toString()
Output a representation of this classifierMethods inherited from class weka.classifiers.RandomizableMultipleClassifiersCombiner
getSeed, seedTipText, setSeed
Methods inherited from class weka.classifiers.MultipleClassifiersCombiner
classifiersTipText, getClassifier, getClassifiers, setClassifiers
Methods inherited from class weka.classifiers.Classifier
debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
Field Details
-
AVERAGE_RULE
public static final int AVERAGE_RULEcombination rule: Average of Probabilities- See Also:
-
PRODUCT_RULE
public static final int PRODUCT_RULEcombination rule: Product of Probabilities (only nominal classes)- See Also:
-
MAJORITY_VOTING_RULE
public static final int MAJORITY_VOTING_RULEcombination rule: Majority Voting (only nominal classes)- See Also:
-
MIN_RULE
public static final int MIN_RULEcombination rule: Minimum Probability- See Also:
-
MAX_RULE
public static final int MAX_RULEcombination rule: Maximum Probability- See Also:
-
MEDIAN_RULE
public static final int MEDIAN_RULEcombination rule: Median Probability (only numeric class)- See Also:
-
TAGS_RULES
combination rules
-
-
Constructor Details
-
Vote
public Vote()
-
-
Method Details
-
globalInfo
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classRandomizableMultipleClassifiersCombiner
- Returns:
- an enumeration of all the available options.
-
getOptions
Gets the current settings of Vote.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classRandomizableMultipleClassifiersCombiner
- Returns:
- an array of strings suitable for passing to setOptions()
-
setOptions
Parses a given list of options. Valid options are:-S <num> Random number seed. (default 1)
-B <classifier specification> Full class name of classifier to include, followed by scheme options. May be specified multiple times. (default: "weka.classifiers.rules.ZeroR")
-D If set, classifier is run in debug mode and may output additional info to the console
-R <AVG|PROD|MAJ|MIN|MAX|MED> The combination rule to use (default: AVG)
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classRandomizableMultipleClassifiersCombiner
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getTechnicalInformation
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.- Specified by:
getTechnicalInformation
in interfaceTechnicalInformationHandler
- Returns:
- the technical information about this class
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classMultipleClassifiersCombiner
- Returns:
- the capabilities of this classifier
- See Also:
-
buildClassifier
Buildclassifier selects a classifier from the set of classifiers by minimising error on the training data.- Specified by:
buildClassifier
in classClassifier
- Parameters:
data
- the training data to be used for generating the boosted classifier.- Throws:
Exception
- if the classifier could not be built successfully
-
classifyInstance
Classifies the given test instance.- Overrides:
classifyInstance
in classClassifier
- Parameters:
instance
- the instance to be classified- Returns:
- the predicted most likely class for the instance or Instance.missingValue() if no prediction is made
- Throws:
Exception
- if an error occurred during the prediction
-
distributionForInstance
Classifies a given instance using the selected combination rule.- Overrides:
distributionForInstance
in classClassifier
- Parameters:
instance
- the instance to be classified- Returns:
- the distribution
- Throws:
Exception
- if instance could not be classified successfully
-
combinationRuleTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getCombinationRule
Gets the combination rule used- Returns:
- the combination rule used
-
setCombinationRule
Sets the combination rule to use. Values other than- Parameters:
newRule
- the combination rule method to use
-
toString
Output a representation of this classifier -
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classClassifier
- 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]
-