Package weka.classifiers.bayes

# Class DMNBtext

java.lang.Object
weka.classifiers.Classifier
weka.classifiers.bayes.DMNBtext

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

public class DMNBtext extends Classifier implements OptionHandler, WeightedInstancesHandler, TechnicalInformationHandler, UpdateableClassifier
Class for building and using a Discriminative Multinomial Naive Bayes classifier. For more information see,
Jiang Su,Harry Zhang,Charles X. Ling,Stan Matwin: Discriminative Parameter Learning for Bayesian Networks. In: ICML 2008', 2008.
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.

BibTeX:

     @inproceedings{JiangSu2008,
        author = {Jiang Su,Harry Zhang,Charles X. Ling,Stan Matwin},
        booktitle = {ICML 2008'},
        title = {Discriminative Parameter Learning for Bayesian Networks},
        year = {2008}
     }

Valid options are:

     -I <iterations>
      The number of iterations that the classifier
      will scan the training data (default = 1)

     -M
      Use the frequency information in data

Version:
  $Revision: 6363 $
Author:
  Jiang Su (Jiang.Su@unb.ca) 2008
See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`DMNBtext.DNBBinary`

## Constructor Summary

Constructors
Constructor
Description
`DMNBtext()`

## Method Summary

Modifier and Type
Method
Description
`void`
`buildClassifier(Instances data)`
Generates the classifier.
`double[]`
`distributionForInstance(Instance instance)`
Calculates the class membership probabilities for the given test instance.
`Capabilities`
`getCapabilities()`
Returns default capabilities of the classifier.
`boolean`
`getMultinomialWord()`
Gets whether use binary text representation
`int`
`getNumIterations()`
Gets the number of iterations to be performed
`String[]`
`getOptions()`
Gets the current settings of the classifier.
`String`
`getRevision()`
Returns the revision string.
`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<Option>`
`listOptions()`
Returns an enumeration describing the available options.
`static void`
`main(String[] argv)`
Main method for testing this class.
`String`
`multinomialWordTipText()`
Returns the tip text for this property
`String`
`numIterationsTipText()`
Returns the tip text for this property
`void`
`setMultinomialWord(boolean val)`
Sets whether use binary text representation
`void`
`setNumIterations(int numIterations)`
Sets the number of iterations to be performed
`void`
`setOptions(String[] options)`
Parses a given list of options.
`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.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

### DMNBtext

public DMNBtext()

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

### 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 data) throws Exception
Generates the classifier.

Specified by:
  `buildClassifier` in class `Classifier`
Parameters:
  `data` - set of instances serving as training data
  `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 `Classifier`
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 `Object`
Returns:
  a string representation of the classifier

### listOptions

public Enumeration<Option> 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
Description copied from class: `Classifier`
Parses a given list of options. Valid options are:

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

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

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

### setNumIterations

public void setNumIterations(int numIterations)
Sets the number of iterations to be performed

### getNumIterations

public int getNumIterations()
Gets the number of iterations to be performed

Returns:
  the iterations to be performed

### multinomialWordTipText

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

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

### setMultinomialWord

public void setMultinomialWord(boolean val)
Sets whether use binary text representation

### getMultinomialWord

public boolean getMultinomialWord()
Gets whether use binary text representation

Returns:
  whether use binary text representation

### 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 for testing this class.

Parameters:
  `argv` - the options