Package weka.classifiers.functions
Class VotedPerceptron
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.functions.VotedPerceptron
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,CapabilitiesHandler
,OptionHandler
,RevisionHandler
,TechnicalInformationHandler
public class VotedPerceptron extends Classifier implements OptionHandler, TechnicalInformationHandler
Implementation of the voted perceptron algorithm by Freund and Schapire. Globally replaces all missing values, and transforms nominal attributes into binary ones.
For more information, see:
Y. Freund, R. E. Schapire: Large margin classification using the perceptron algorithm. In: 11th Annual Conference on Computational Learning Theory, New York, NY, 209-217, 1998. BibTeX:@inproceedings{Freund1998, address = {New York, NY}, author = {Y. Freund and R. E. Schapire}, booktitle = {11th Annual Conference on Computational Learning Theory}, pages = {209-217}, publisher = {ACM Press}, title = {Large margin classification using the perceptron algorithm}, year = {1998} }
Valid options are:-I <int> The number of iterations to be performed. (default 1)
-E <double> The exponent for the polynomial kernel. (default 1)
-S <int> The seed for the random number generation. (default 1)
-M <int> The maximum number of alterations allowed. (default 10000)
- Version:
- $Revision: 5523 $
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description VotedPerceptron()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buildClassifier(Instances insts)
Builds the ensemble of perceptrons.double[]
distributionForInstance(Instance inst)
Outputs the distribution for the given output.java.lang.String
exponentTipText()
Returns the tip text for this propertyCapabilities
getCapabilities()
Returns default capabilities of the classifier.double
getExponent()
Get the value of exponent.int
getMaxK()
Get the value of maxK.int
getNumIterations()
Get the value of NumIterations.java.lang.String[]
getOptions()
Gets the current settings of the classifier.java.lang.String
getRevision()
Returns the revision string.int
getSeed()
Get the value of Seed.TechnicalInformation
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.java.lang.String
globalInfo()
Returns a string describing this classifierjava.util.Enumeration
listOptions()
Returns an enumeration describing the available options.static void
main(java.lang.String[] argv)
Main method.java.lang.String
maxKTipText()
Returns the tip text for this propertyjava.lang.String
numIterationsTipText()
Returns the tip text for this propertyjava.lang.String
seedTipText()
Returns the tip text for this propertyvoid
setExponent(double v)
Set the value of exponent.void
setMaxK(int v)
Set the value of maxK.void
setNumIterations(int v)
Set the value of NumIterations.void
setOptions(java.lang.String[] options)
Parses a given list of options.void
setSeed(int v)
Set the value of Seed.java.lang.String
toString()
Returns textual description of classifier.-
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing this classifier- Returns:
- a description of the classifier suitable for displaying in the explorer/experimenter gui
-
getTechnicalInformation
public TechnicalInformation 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
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classClassifier
- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.Exception
Parses a given list of options. Valid options are:-I <int> The number of iterations to be performed. (default 1)
-E <double> The exponent for the polynomial kernel. (default 1)
-S <int> The seed for the random number generation. (default 1)
-M <int> The maximum number of alterations allowed. (default 10000)
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classClassifier
- Parameters:
options
- the list of options as an array of strings- Throws:
java.lang.Exception
- if an option is not supported
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the classifier.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classClassifier
- Returns:
- an array of strings suitable for passing to setOptions
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classClassifier
- Returns:
- the capabilities of this classifier
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(Instances insts) throws java.lang.Exception
Builds the ensemble of perceptrons.- Specified by:
buildClassifier
in classClassifier
- Parameters:
insts
- the data to train the classifier with- Throws:
java.lang.Exception
- if something goes wrong during building
-
distributionForInstance
public double[] distributionForInstance(Instance inst) throws java.lang.Exception
Outputs the distribution for the given output. Pipes output of SVM through sigmoid function.- Overrides:
distributionForInstance
in classClassifier
- Parameters:
inst
- the instance for which distribution is to be computed- Returns:
- the distribution
- Throws:
java.lang.Exception
- if something goes wrong
-
toString
public java.lang.String toString()
Returns textual description of classifier.- Overrides:
toString
in classjava.lang.Object
- Returns:
- the model as string
-
maxKTipText
public java.lang.String maxKTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getMaxK
public int getMaxK()
Get the value of maxK.- Returns:
- Value of maxK.
-
setMaxK
public void setMaxK(int v)
Set the value of maxK.- Parameters:
v
- Value to assign to maxK.
-
numIterationsTipText
public java.lang.String numIterationsTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getNumIterations
public int getNumIterations()
Get the value of NumIterations.- Returns:
- Value of NumIterations.
-
setNumIterations
public void setNumIterations(int v)
Set the value of NumIterations.- Parameters:
v
- Value to assign to NumIterations.
-
exponentTipText
public java.lang.String exponentTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getExponent
public double getExponent()
Get the value of exponent.- Returns:
- Value of exponent.
-
setExponent
public void setExponent(double v)
Set the value of exponent.- Parameters:
v
- Value to assign to exponent.
-
seedTipText
public java.lang.String seedTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getSeed
public int getSeed()
Get the value of Seed.- Returns:
- Value of Seed.
-
setSeed
public void setSeed(int v)
Set the value of Seed.- Parameters:
v
- Value to assign to Seed.
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classClassifier
- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method.- Parameters:
argv
- the commandline options
-
-