weka.classifiers.bayes
Class DMNBtext

java.lang.Object
  extended by weka.classifiers.Classifier
      extended by 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
 class DMNBtext.DNBBinary
           
 
Constructor Summary
DMNBtext()
           
 
Method Summary
 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 Detail

DMNBtext

public DMNBtext()
Method Detail

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


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.