Package weka.classifiers.bayes
Class DMNBtext
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.bayes.DMNBtext
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.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
All Methods Static Methods Instance Methods Concrete Methods 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 representationint
getNumIterations()
Gets the number of iterations to be performedjava.lang.String[]
getOptions()
Gets the current settings of the classifier.java.lang.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.java.lang.String
globalInfo()
Returns a string describing this classifierjava.util.Enumeration<Option>
listOptions()
Returns an enumeration describing the available options.static void
main(java.lang.String[] argv)
Main method for testing this class.java.lang.String
multinomialWordTipText()
Returns the tip text for this propertyjava.lang.String
numIterationsTipText()
Returns the tip text for this propertyvoid
setMultinomialWord(boolean val)
Sets whether use binary text representationvoid
setNumIterations(int numIterations)
Sets the number of iterations to be performedvoid
setOptions(java.lang.String[] options)
Parses a given list of options.java.lang.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
-
-
-
-
Method Detail
-
globalInfo
public java.lang.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 interfaceTechnicalInformationHandler
- Returns:
- the technical information about this class
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classClassifier
- Returns:
- the capabilities of this classifier
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(Instances data) throws java.lang.Exception
Generates the classifier.- Specified by:
buildClassifier
in classClassifier
- Parameters:
instances
- set of instances serving as training data- Throws:
java.lang.Exception
- if the classifier has not been generated successfully
-
updateClassifier
public void updateClassifier(Instance instance) throws java.lang.Exception
Updates the classifier with the given instance.- Specified by:
updateClassifier
in interfaceUpdateableClassifier
- Parameters:
instance
- the new training instance to include in the model- Throws:
java.lang.Exception
- if the instance could not be incorporated in the model.
-
distributionForInstance
public double[] distributionForInstance(Instance instance) throws java.lang.Exception
Calculates the class membership probabilities for the given test instance.- Overrides:
distributionForInstance
in classClassifier
- Parameters:
instance
- the instance to be classified- Returns:
- predicted class probability distribution
- Throws:
java.lang.Exception
- if there is a problem generating the prediction
-
toString
public java.lang.String toString()
Returns a string representation of the classifier.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string representation of the classifier
-
listOptions
public java.util.Enumeration<Option> listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classClassifier
- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.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 interfaceOptionHandler
- Overrides:
setOptions
in classClassifier
- 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 interfaceOptionHandler
- Overrides:
getOptions
in classClassifier
- Returns:
- an array of strings suitable for passing to setOptions
-
numIterationsTipText
public java.lang.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 java.lang.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 java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classClassifier
- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class.- Parameters:
argv
- the options
-
-