|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.classifiers.Classifier
weka.classifiers.bayes.BayesNet
Base class for a Bayes Network classifier. Provides datastructures (network structure, conditional probability distributions, etc.) and facilities common to Bayes Network learning algorithms like K2 and B. Works with nominal variables and no missing values only.
Field Summary | |
(package private) ADNode |
m_ADTree
|
(package private) boolean |
m_bInitAsNaiveBayes
determines whether initial structure is an empty graph or a Naive Bayes network |
(package private) boolean |
m_bUseADTree
Use the experimental ADTree datastructure for calculating contingency tables |
protected Estimator[][] |
m_Distributions
The attribute estimators containing CPTs. |
(package private) double |
m_fAlpha
Holds prior on count |
Instances |
m_Instances
The dataset header for the purposes of printing out a semi-intelligible model |
(package private) int |
m_nMaxNrOfParents
Holds upper bound on number of parents |
protected int[] |
m_nOrder
topological ordering of the network |
(package private) int |
m_nScoreType
Holds the score type used to measure quality of network |
protected int |
m_NumClasses
The number of classes |
protected ParentSet[] |
m_ParentSets
The parent sets. |
static Tag[] |
TAGS_SCORE_TYPE
|
Fields inherited from class weka.classifiers.Classifier |
m_Debug |
Fields inherited from interface weka.core.Drawable |
BayesNet, NOT_DRAWABLE, TREE |
Constructor Summary | |
BayesNet()
|
Method Summary | |
java.lang.String |
alphaTipText()
|
void |
buildClassifier(Instances instances)
Generates the classifier. |
void |
buildStructure()
buildStructure determines the network structure/graph of the network. |
protected double |
CalcNodeScore(int nNode)
Calc Node Score for given parent set |
private double |
CalcNodeScore(int nNode,
Instances instances)
|
private double |
CalcNodeScoreADTree(int nNode,
Instances instances)
helper function for CalcNodeScore above using the ADTree data structure |
protected double |
CalcScoreOfCounts(int[] nCounts,
int nCardinality,
int numValues,
Instances instances)
utility function used by CalcScore and CalcNodeScore to determine the score based on observed frequencies. |
protected double |
CalcScoreOfCounts2(int[][] nCounts,
int nCardinality,
int numValues,
Instances instances)
|
protected double |
CalcScoreWithExtraParent(int nNode,
int nCandidateParent)
Calc Node Score With AddedParent |
double[] |
countsForInstance(Instance instance)
Calculates the counts for Dirichlet distribution for the class membership probabilities for the given test instance. |
double[] |
distributionForInstance(Instance instance)
Calculates the class membership probabilities for the given test instance. |
void |
estimateCPTs()
estimateCPTs estimates the conditional probability tables for the Bayes Net using the network structure. |
double |
getAlpha()
Method declaration |
boolean |
getInitAsNaiveBayes()
Method declaration |
int |
getMaxNrOfParents()
Method declaration |
java.lang.String[] |
getOptions()
Gets the current settings of the classifier. |
SelectedTag |
getScoreType()
Method declaration |
boolean |
getUseADTree()
Method declaration |
java.lang.String |
graph()
Returns a BayesNet graph in XMLBIF ver 0.3 format. |
int |
graphType()
Returns the type of graph this classifier represents. |
java.lang.String |
initAsNaiveBayesTipText()
|
void |
initStructure()
Init structure initializes the structure to an empty graph or a Naive Bayes graph (depending on the -N flag). |
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options |
double |
logScore(int nType)
logScore returns the log of the quality of a network (e.g. the posterior probability of the network, or the MDL value). |
static void |
main(java.lang.String[] argv)
Main method for testing this class. |
java.lang.String |
maxNrOfParentsTipText()
|
java.lang.String |
scoreTypeTipText()
|
void |
setAlpha(double fAlpha)
Method declaration |
void |
setInitAsNaiveBayes(boolean bInitAsNaiveBayes)
Method declaration |
void |
setMaxNrOfParents(int nMaxNrOfParents)
Method declaration |
void |
setOptions(java.lang.String[] options)
Parses a given list of options. |
void |
setScoreType(SelectedTag newScoreType)
Method declaration |
void |
setUseADTree(boolean bUseADTree)
Method declaration |
java.lang.String |
toString()
Returns a description of the classifier. |
java.lang.String |
toXMLBIF03()
Returns a description of the classifier in XML BIF 0.3 format. |
void |
updateClassifier(Instance instance)
Updates the classifier with the given instance. |
java.lang.String |
useADTreeTipText()
|
(package private) java.lang.String |
XMLNormalize(java.lang.String sStr)
XMLNormalize converts the five standard XML entities in a string g.e. the string V&D's is returned as V&D's |
Methods inherited from class weka.classifiers.Classifier |
classifyInstance, debugTipText, forName, getDebug, makeCopies, setDebug |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected int[] m_nOrder
protected ParentSet[] m_ParentSets
protected Estimator[][] m_Distributions
protected int m_NumClasses
public Instances m_Instances
ADNode m_ADTree
public static final Tag[] TAGS_SCORE_TYPE
int m_nScoreType
double m_fAlpha
int m_nMaxNrOfParents
boolean m_bInitAsNaiveBayes
boolean m_bUseADTree
Constructor Detail |
public BayesNet()
Method Detail |
public void buildClassifier(Instances instances) throws java.lang.Exception
buildClassifier
in class Classifier
instances
- set of instances serving as training data
java.lang.Exception
- if the classifier has not been generated
successfullypublic void initStructure() throws java.lang.Exception
java.lang.Exception
public void buildStructure() throws java.lang.Exception
java.lang.Exception
public void estimateCPTs() throws java.lang.Exception
java.lang.Exception
public void updateClassifier(Instance instance) throws java.lang.Exception
instance
- the new training instance to include in the model
java.lang.Exception
- if the instance could not be incorporated in
the model.public double[] distributionForInstance(Instance instance) throws java.lang.Exception
distributionForInstance
in class Classifier
instance
- the instance to be classified
java.lang.Exception
- if there is a problem generating the predictionpublic double[] countsForInstance(Instance instance) throws java.lang.Exception
instance
- the instance to be classified
java.lang.Exception
- if there is a problem generating the predictionpublic java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
listOptions
in class Classifier
public void setOptions(java.lang.String[] options) throws java.lang.Exception
setOptions
in interface OptionHandler
setOptions
in class Classifier
options
- the list of options as an array of strings
java.lang.Exception
- if an option is not supportedpublic void setScoreType(SelectedTag newScoreType)
public SelectedTag getScoreType()
public void setAlpha(double fAlpha)
fAlpha
- public double getAlpha()
public void setInitAsNaiveBayes(boolean bInitAsNaiveBayes)
bInitAsNaiveBayes
- public boolean getInitAsNaiveBayes()
public void setUseADTree(boolean bUseADTree)
bUseADTree
- public boolean getUseADTree()
public void setMaxNrOfParents(int nMaxNrOfParents)
nMaxNrOfParents
- public int getMaxNrOfParents()
public java.lang.String[] getOptions()
getOptions
in interface OptionHandler
getOptions
in class Classifier
public double logScore(int nType)
nType
- score type (Bayes, MDL, etc) to calculate score with
public java.lang.String toString()
public int graphType()
graphType
in interface Drawable
public java.lang.String graph() throws java.lang.Exception
graph
in interface Drawable
java.lang.Exception
- if the graph can't be computedpublic java.lang.String toXMLBIF03()
java.lang.String XMLNormalize(java.lang.String sStr)
sStr
- string to normalize
protected double CalcScoreWithExtraParent(int nNode, int nCandidateParent)
nNode
- node for which the score is calculatenCandidateParent
- candidate parent to add to the existing parent set
protected double CalcNodeScore(int nNode)
nNode
- node for which the score is calculate
private double CalcNodeScoreADTree(int nNode, Instances instances)
nNode
- node for which the score is calculateinstances
- used to calculate score with
private double CalcNodeScore(int nNode, Instances instances)
protected double CalcScoreOfCounts(int[] nCounts, int nCardinality, int numValues, Instances instances)
nCounts
- array with observed frequenciesnCardinality
- ardinality of parent setnumValues
- number of values a node can takeinstances
- to calc score with
protected double CalcScoreOfCounts2(int[][] nCounts, int nCardinality, int numValues, Instances instances)
public java.lang.String scoreTypeTipText()
public java.lang.String alphaTipText()
public java.lang.String initAsNaiveBayesTipText()
public java.lang.String useADTreeTipText()
public java.lang.String maxNrOfParentsTipText()
public static void main(java.lang.String[] argv)
argv
- the options
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |