Package weka.classifiers.functions

# Class VotedPerceptron

java.lang.Object
weka.classifiers.Classifier
weka.classifiers.functions.VotedPerceptron

All Implemented Interfaces:
  `Serializable`, `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

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.
`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.Classifier

`classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### VotedPerceptron

public VotedPerceptron()

## Method Details

### 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 `Classifier`
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 `Classifier`
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 `Classifier`
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 `CapabilitiesHandler`
Overrides:
  `getCapabilities` in class `Classifier`
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 class `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.

Overrides:
  `distributionForInstance` in class `Classifier`
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 `Classifier`
Returns:
  the revision

### main

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

Parameters:
  `argv` - the commandline options