weka.classifiers.functions
Class VotedPerceptron

java.lang.Object
  extended by weka.classifiers.AbstractClassifier
      extended by weka.classifiers.functions.VotedPerceptron
All Implemented Interfaces:
Serializable, Cloneable, Classifier, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class VotedPerceptron
extends AbstractClassifier
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: 8034 $
Author:
Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
Serialized Form

Constructor Summary
VotedPerceptron()
           
 
Method Summary
 void buildClassifier(Instances insts)
          Builds the ensemble of perceptrons.
 double[] distributionForInstance(Instance inst)
          Outputs the distribution for the given output.
 String exponentTipText()
          Returns the tip text for this property
 Capabilities 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.
 String[] getOptions()
          Gets the current settings of the classifier.
 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.
 String globalInfo()
          Returns a string describing this classifier
 Enumeration listOptions()
          Returns an enumeration describing the available options.
static void main(String[] argv)
          Main method.
 String maxKTipText()
          Returns the tip text for this property
 String numIterationsTipText()
          Returns the tip text for this property
 String seedTipText()
          Returns the tip text for this property
 void 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(String[] options)
          Parses a given list of options.
 void setSeed(int v)
          Set the value of Seed.
 String toString()
          Returns textual description of classifier.
 
Methods inherited from class weka.classifiers.AbstractClassifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, runClassifier, setDebug
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VotedPerceptron

public VotedPerceptron()
Method Detail

globalInfo

public 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 interface TechnicalInformationHandler
Returns:
the technical information about this class

listOptions

public Enumeration listOptions()
Returns an enumeration describing the available options.

Specified by:
listOptions in interface OptionHandler
Overrides:
listOptions in class AbstractClassifier
Returns:
an enumeration of all the available options.

setOptions

public void setOptions(String[] options)
                throws 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 interface OptionHandler
Overrides:
setOptions in class AbstractClassifier
Parameters:
options - the list of options as an array of strings
Throws:
Exception - if an option is not supported

getOptions

public String[] getOptions()
Gets the current settings of the classifier.

Specified by:
getOptions in interface OptionHandler
Overrides:
getOptions in class AbstractClassifier
Returns:
an array of strings suitable for passing to setOptions

getCapabilities

public Capabilities getCapabilities()
Returns default capabilities of the classifier.

Specified by:
getCapabilities in interface Classifier
Specified by:
getCapabilities in interface CapabilitiesHandler
Overrides:
getCapabilities in class AbstractClassifier
Returns:
the capabilities of this classifier
See Also:
Capabilities

buildClassifier

public void buildClassifier(Instances insts)
                     throws Exception
Builds the ensemble of perceptrons.

Specified by:
buildClassifier in interface Classifier
Parameters:
insts - the data to train the classifier with
Throws:
Exception - if something goes wrong during building

distributionForInstance

public double[] distributionForInstance(Instance inst)
                                 throws Exception
Outputs the distribution for the given output. Pipes output of SVM through sigmoid function.

Specified by:
distributionForInstance in interface Classifier
Overrides:
distributionForInstance in class AbstractClassifier
Parameters:
inst - the instance for which distribution is to be computed
Returns:
the distribution
Throws:
Exception - if something goes wrong

toString

public String toString()
Returns textual description of classifier.

Overrides:
toString in class Object
Returns:
the model as string

maxKTipText

public 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 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 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 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 String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Overrides:
getRevision in class AbstractClassifier
Returns:
the revision

main

public static void main(String[] argv)
Main method.

Parameters:
argv - the commandline options


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.