weka.classifiers
Class VotedPerceptron

java.lang.Object
  |
  +--weka.classifiers.Classifier
        |
        +--weka.classifiers.DistributionClassifier
              |
              +--weka.classifiers.VotedPerceptron
All Implemented Interfaces:
java.lang.Cloneable, OptionHandler, java.io.Serializable

public class VotedPerceptron
extends DistributionClassifier
implements OptionHandler

Implements 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 and R. E. Schapire (1998). Large margin classification using the perceptron algorithm. Proc. 11th Annu. Conf. on Comput. Learning Theory, pp. 209-217, ACM Press, New York, NY.

Valid options are:

-I num
The number of iterations to be performed. (default 1)

-E num
The exponent for the polynomial kernel. (default 1)

-S num
The seed for the random number generator. (default 1)

-M num
The maximum number of alterations allowed. (default 10000)

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.
 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.
 int getSeed()
          Get the value of Seed.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options
static void main(java.lang.String[] argv)
          Main method.
 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.DistributionClassifier
classifyInstance
 
Methods inherited from class weka.classifiers.Classifier
forName, makeCopies
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VotedPerceptron

public VotedPerceptron()
Method Detail

listOptions

public java.util.Enumeration listOptions()
Returns an enumeration describing the available options
Specified by:
listOptions in interface OptionHandler
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 num
The number of iterations to be performed. (default 1)

-E num
The exponent for the polynomial kernel. (default 1)

-S num
The seed for the random number generator. (default 1)

-M num
The maximum number of alterations allowed. (default 10000)

Specified by:
setOptions in interface OptionHandler
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
Returns:
an array of strings suitable for passing to setOptions

buildClassifier

public void buildClassifier(Instances insts)
                     throws java.lang.Exception
Builds the ensemble of perceptrons.
Overrides:
buildClassifier in class Classifier
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 class DistributionClassifier
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

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.

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.

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.

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.

main

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