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 classDMNBtext.DNBBinary
-
Constructor Summary
Constructors Constructor Description DMNBtext()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(Instances data)Generates the classifier.double[]distributionForInstance(Instance instance)Calculates the class membership probabilities for the given test instance.CapabilitiesgetCapabilities()Returns default capabilities of the classifier.booleangetMultinomialWord()Gets whether use binary text representationintgetNumIterations()Gets the number of iterations to be performedjava.lang.String[]getOptions()Gets the current settings of the classifier.java.lang.StringgetRevision()Returns the revision string.TechnicalInformationgetTechnicalInformation()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.StringglobalInfo()Returns a string describing this classifierjava.util.Enumeration<Option>listOptions()Returns an enumeration describing the available options.static voidmain(java.lang.String[] argv)Main method for testing this class.java.lang.StringmultinomialWordTipText()Returns the tip text for this propertyjava.lang.StringnumIterationsTipText()Returns the tip text for this propertyvoidsetMultinomialWord(boolean val)Sets whether use binary text representationvoidsetNumIterations(int numIterations)Sets the number of iterations to be performedvoidsetOptions(java.lang.String[] options)Parses a given list of options.java.lang.StringtoString()Returns a string representation of the classifier.voidupdateClassifier(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:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin 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:
buildClassifierin 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:
updateClassifierin 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:
distributionForInstancein 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:
toStringin 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:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classClassifier- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.ExceptionDescription copied from class:ClassifierParses 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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin 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:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin 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:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classClassifier- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class.- Parameters:
argv- the options
-
-