Package weka.classifiers.bayes

# Class NaiveBayesMultinomialUpdateable

java.lang.Object
weka.classifiers.Classifier
weka.classifiers.bayes.NaiveBayesMultinomial
weka.classifiers.bayes.NaiveBayesMultinomialUpdateable

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

public class NaiveBayesMultinomialUpdateable extends NaiveBayesMultinomial implements UpdateableClassifier
Class for building and using a multinomial Naive Bayes classifier. For more information see,
Andrew Mccallum, Kamal Nigam: A Comparison of Event Models for Naive Bayes Text Classification. In: AAAI-98 Workshop on 'Learning for Text Categorization', 1998.
The core equation for this classifier:
P[Ci|D] = (P[D|Ci] x P[Ci]) / P[D] (Bayes rule)
where Ci is class i and D is a document.
Incremental version of the algorithm.

BibTeX:

     @inproceedings{Mccallum1998,
        author = {Andrew Mccallum and Kamal Nigam},
        booktitle = {AAAI-98 Workshop on 'Learning for Text Categorization'},
        title = {A Comparison of Event Models for Naive Bayes Text Classification},
        year = {1998}
     }

Valid options are:

     -D
      If set, classifier is run in debug mode and
      may output additional info to the console

Version:
  $Revision: 1.3 $
Author:
  Andrew Golightly (acg4@cs.waikato.ac.nz), Bernhard Pfahringer (bernhard@cs.waikato.ac.nz), Jiang Su
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`NaiveBayesMultinomialUpdateable()`

## Method Summary

Modifier and Type
Method
Description
`void`
`buildClassifier(Instances instances)`
Generates the classifier.
`double[]`
`distributionForInstance(Instance instance)`
Calculates the class membership probabilities for the given test instance.
`String`
`getRevision()`
Returns the revision string.
`String`
`globalInfo()`
Returns a string describing this classifier
`static void`
`main(String[] args)`
Main method for testing this class.
`String`
`toString()`
Returns a string representation of the classifier.
`void`
`updateClassifier(Instance instance)`
Updates the classifier with the given instance.

### Methods inherited from class weka.classifiers.bayes.NaiveBayesMultinomial

`getCapabilities, getTechnicalInformation, lnFactorial`

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

`classifyInstance, debugTipText, forName, getDebug, getOptions, listOptions, makeCopies, makeCopy, setDebug, setOptions`

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

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

## Constructor Details

### NaiveBayesMultinomialUpdateable

public NaiveBayesMultinomialUpdateable()

## Method Details

### globalInfo

public String globalInfo()
Returns a string describing this classifier

Overrides:
  `globalInfo` in class `NaiveBayesMultinomial`
Returns:
  a description of the classifier suitable for displaying in the explorer/experimenter gui

### buildClassifier

public void buildClassifier(Instances instances) throws Exception
Generates the classifier.

Overrides:
  `buildClassifier` in class `NaiveBayesMultinomial`
Parameters:
  `instances` - set of instances serving as training data
Throws:
  `Exception` - if the classifier has not been generated successfully

### updateClassifier

public void updateClassifier(Instance instance) throws Exception
Updates the classifier with the given instance.

Specified by:
  `updateClassifier` in interface `UpdateableClassifier`
Parameters:
  `instance` - the new training instance to include in the model
Throws:
  `Exception` - if the instance could not be incorporated in the model.

### distributionForInstance

public double[] distributionForInstance(Instance instance) throws Exception
Calculates the class membership probabilities for the given test instance.

Overrides:
  `distributionForInstance` in class `NaiveBayesMultinomial`
Parameters:
  `instance` - the instance to be classified
Returns:
  predicted class probability distribution
Throws:
  `Exception` - if there is a problem generating the prediction

### toString

public String toString()
Returns a string representation of the classifier.

Overrides:
  `toString` in class `NaiveBayesMultinomial`
Returns:
  a string representation of the classifier

### getRevision

public String getRevision()
Returns the revision string.

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

### main

public static void main(String[] args)
Main method for testing this class.

Parameters:
  `args` - the options