weka.classifiers.functions

## Class VotedPerceptron

- java.lang.Object
- - weka.classifiers.AbstractClassifier
  - - weka.classifiers.functions.VotedPerceptron

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Classifier, BatchPredictor, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, 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: 10141 $
  Author:
    Eibe Frank (eibe@cs.waikato.ac.nz)
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class weka.classifiers.AbstractClassifier

      `BATCH_SIZE_DEFAULT, NUM_DECIMAL_PLACES_DEFAULT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `VotedPerceptron()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 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.
    `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 classifier
    `java.util.Enumeration<Option>` | `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 property
    `java.lang.String` | `numIterationsTipText()` Returns the tip text for this property
    `java.lang.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(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.AbstractClassifier

      `batchSizeTipText, classifyInstance, debugTipText, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces`

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

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

- - ### Constructor Detail

    - #### VotedPerceptron

          public VotedPerceptron()

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

    - #### listOptions

          public java.util.Enumeration<Option> 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(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 interface `OptionHandler`
      Overrides:
        `setOptions` in class `AbstractClassifier`
      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 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 java.lang.Exception

      Builds the ensemble of perceptrons.
      Specified by:
        `buildClassifier` in interface `Classifier`
      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.
      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:
        `java.lang.Exception` - if something goes wrong

    - #### toString

          public java.lang.String toString()

      Returns textual description of classifier.
      Overrides:
        `toString` in class `java.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 interface `RevisionHandler`
      Overrides:
        `getRevision` in class `AbstractClassifier`
      Returns:
        the revision

    - #### main

          public static void main(java.lang.String[] argv)

      Main method.
      Parameters:
        `argv` - the commandline options