Package weka.classifiers.functions

# Class Winnow

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

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `UpdateableClassifier`, `CapabilitiesHandler`, `OptionHandler`, `RevisionHandler`, `TechnicalInformationHandler`

public class Winnow extends Classifier implements UpdateableClassifier, TechnicalInformationHandler
Implements Winnow and Balanced Winnow algorithms by Littlestone.
For more information, see
N. Littlestone (1988). Learning quickly when irrelevant attributes are abound: A new linear threshold algorithm. Machine Learning. 2:285-318.
N. Littlestone (1989). Mistake bounds and logarithmic linear-threshold learning algorithms. University of California, Santa Cruz.
Does classification for problems with nominal attributes (which it converts into binary attributes).

BibTeX:

     @article{Littlestone1988,
        author = {N. Littlestone},
        journal = {Machine Learning},
        pages = {285-318},
        title = {Learning quickly when irrelevant attributes are abound: A new linear threshold algorithm},
        volume = {2},
        year = {1988}
     }

     @techreport{Littlestone1989,
        address = {University of California, Santa Cruz},
        author = {N. Littlestone},
        institution = {University of California},
        note = {Technical Report UCSC-CRL-89-11},
        title = {Mistake bounds and logarithmic linear-threshold learning algorithms},
        year = {1989}
     }

Valid options are:

     -L
      Use the baLanced version
      (default false)

     -I <int>
      The number of iterations to be performed.
      (default 1)

     -A <double>
      Promotion coefficient alpha.
      (default 2.0)

     -B <double>
      Demotion coefficient beta.
      (default 0.5)

     -H <double>
      Prediction threshold.
      (default -1.0 == number of attributes)

     -W <double>
      Starting weights.
      (default 2.0)

     -S <int>
      Default random seed.
      (default 1)

Version:
  $Revision: 5523 $
Author:
  J. Lindgren (jtlindgr at cs.helsinki.fi)
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`Winnow()`

## Method Summary

Modifier and Type
Method
Description
`String`
`alphaTipText()`
Returns the tip text for this property
`String`
`balancedTipText()`
Returns the tip text for this property
`String`
`betaTipText()`
Returns the tip text for this property
`void`
`buildClassifier(Instances insts)`
Builds the classifier
`double`
`classifyInstance(Instance inst)`
Outputs the prediction for the given instance.
`String`
`defaultWeightTipText()`
Returns the tip text for this property
`double`
`getAlpha()`
Get the value of Alpha.
`boolean`
`getBalanced()`
Get the value of Balanced.
`double`
`getBeta()`
Get the value of Beta.
`Capabilities`
`getCapabilities()`
Returns default capabilities of the classifier.
`double`
`getDefaultWeight()`
Get the value of defaultWeight.
`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.
`double`
`getThreshold()`
Get the value of Threshold.
`String`
`globalInfo()`
Returns a string describing classifier
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options
`static void`
`main(String[] argv)`
Main method.
`String`
`numIterationsTipText()`
Returns the tip text for this property
`String`
`seedTipText()`
Returns the tip text for this property
`void`
`setAlpha(double a)`
Set the value of Alpha.
`void`
`setBalanced(boolean b)`
Set the value of Balanced.
`void`
`setBeta(double b)`
Set the value of Beta.
`void`
`setDefaultWeight(double w)`
Set the value of defaultWeight.
`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.
`void`
`setThreshold(double t)`
Set the value of Threshold.
`String`
`thresholdTipText()`
Returns the tip text for this property
`String`
`toString()`
Returns textual description of the classifier.
`void`
`updateClassifier(Instance instance)`
Updates the classifier with a new learning example

### Methods inherited from class weka.classifiers.Classifier

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

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

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

## Constructor Details

### Winnow

public Winnow()

## Method Details

### globalInfo

public String globalInfo()
Returns a string describing classifier

Returns:
  a description 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:

     -L
      Use the baLanced version
      (default false)

     -I <int>
      The number of iterations to be performed.
      (default 1)

     -A <double>
      Promotion coefficient alpha.
      (default 2.0)

     -B <double>
      Demotion coefficient beta.
      (default 0.5)

     -H <double>
      Prediction threshold.
      (default -1.0 == number of attributes)

     -W <double>
      Starting weights.
      (default 2.0)

     -S <int>
      Default random seed.
      (default 1)

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 classifier

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

### updateClassifier

public void updateClassifier(Instance instance) throws Exception
Updates the classifier with a new learning example

Specified by:
  `updateClassifier` in interface `UpdateableClassifier`
Parameters:
  `instance` - the instance to update the classifier with
Throws:
  `Exception` - if something goes wrong

### classifyInstance

public double classifyInstance(Instance inst) throws Exception
Outputs the prediction for the given instance.

Overrides:
  `classifyInstance` in class `Classifier`
Parameters:
  `inst` - the instance for which prediction is to be computed
Returns:
  the prediction
Throws:
  `Exception` - if something goes wrong

### toString

public String toString()
Returns textual description of the classifier.

Overrides:
  `toString` in class `Object`
Returns:
  textual description of the classifier

### balancedTipText

public String balancedTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### getBalanced

public boolean getBalanced()
Get the value of Balanced.

Returns:
  Value of Balanced.

### setBalanced

public void setBalanced(boolean b)
Set the value of Balanced.

Parameters:
  `b` - Value to assign to Balanced.

### alphaTipText

public String alphaTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### getAlpha

public double getAlpha()
Get the value of Alpha.

Returns:
  Value of Alpha.

### setAlpha

public void setAlpha(double a)
Set the value of Alpha.

Parameters:
  `a` - Value to assign to Alpha.

### betaTipText

public String betaTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### getBeta

public double getBeta()
Get the value of Beta.

Returns:
  Value of Beta.

### setBeta

public void setBeta(double b)
Set the value of Beta.

Parameters:
  `b` - Value to assign to Beta.

### thresholdTipText

public String thresholdTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### getThreshold

public double getThreshold()
Get the value of Threshold.

Returns:
  Value of Threshold.

### setThreshold

public void setThreshold(double t)
Set the value of Threshold.

Parameters:
  `t` - Value to assign to Threshold.

### defaultWeightTipText

public String defaultWeightTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### getDefaultWeight

public double getDefaultWeight()
Get the value of defaultWeight.

Returns:
  Value of defaultWeight.

### setDefaultWeight

public void setDefaultWeight(double w)
Set the value of defaultWeight.

Parameters:
  `w` - Value to assign to defaultWeight.

### 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.

### 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