Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.classifiers.bayes
Class AODE

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

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, UpdateableClassifier, OptionHandler, WeightedInstancesHandler

    public class AODE

extends Classifier
implements OptionHandler, WeightedInstancesHandler, UpdateableClassifier

AODE achieves highly accurate classification by averaging over all of a small space of alternative naive-Bayes-like models that have weaker (and hence less detrimental) independence assumptions than naive Bayes. The resulting algorithm is computationally efficient while delivering highly accurate classification on many learning tasks.
For more information, see

G. Webb, J. Boughton & Z. Wang (2004). Not So Naive Bayes. To be published in Machine Learning.
G. Webb, J. Boughton & Z. Wang (2002). Averaged One-Dependence Estimators: Preliminary Results. AI2002 Data Mining Workshop, Canberra. Valid options are:

-D
Debugging information is printed if this flag is specified.

-F
Specify the frequency limit for parent attributes.

Version:
  $Revision: 1.8.2.4 $ this version resolves errors in the handling of missing attribute values.
Author:
  Janice Boughton (jrbought@csse.monash.edu.au) & Zhihai Wang (zhw@csse.monash.edu.au)
See Also:
  Serialized Form

Constructor Summary
`AODE()`

Method Summary
`void` | `buildClassifier(Instances instances)` Generates the classifier.
`double[]` | `distributionForInstance(Instance instance)` Calculates the class membership probabilities for the given test instance.
`java.lang.String[]` | `getOptions()` Gets the current settings of the classifier.
`java.lang.String` | `globalInfo()` Returns a string describing this classifier
`java.util.Enumeration` | `listOptions()` Returns an enumeration describing the available options
`static void` | `main(java.lang.String[] argv)` Main method for testing this class.
`double` | `NBconditionalProb(Instance instance, int classVal)` Calculates the probability of the specified class for the given test instance, using naive Bayes.
`void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
`java.lang.String` | `toString()` Returns a description 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

### AODE

    public AODE()

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

### buildClassifier

    public void buildClassifier(Instances instances)
                         throws java.lang.Exception

  Generates the classifier.

  Specified by:
    `buildClassifier` in class `Classifier`
  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)

  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:
    `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 class `Classifier`
  Parameters:
    `instance` - the instance to be classified
  Returns:
    predicted class probability distribution
  Throws:
    `java.lang.Exception` - if there is a problem generating the prediction

### NBconditionalProb

    public double NBconditionalProb(Instance instance,
                                    int classVal)

  Calculates the probability of the specified class for the given test instance, using naive Bayes.

  Parameters:
    `instance` - the instance to be classified
    `classVal` - the class for which to calculate the probability
  Returns:
    predicted class probability
  Throws:
    `java.lang.Exception` - if there is a problem generating the prediction

### listOptions

    public java.util.Enumeration 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(java.lang.String[] options)
                    throws java.lang.Exception

  Parses a given list of options. Valid options are:

  -D
  Debugging information is printed.

  -F
  Specify the frequency limit for parent attributes.

  Specified by:
    `setOptions` in interface `OptionHandler`
  Overrides:
    `setOptions` in class `Classifier`
  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 interface `OptionHandler`
  Overrides:
    `getOptions` in class `Classifier`
  Returns:
    an array of strings suitable for passing to setOptions

### toString

    public java.lang.String toString()

  Returns a description of the classifier.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a description of the classifier as a string.

### main

    public static void main(java.lang.String[] argv)

  Main method for testing this class.

  Parameters:
    `argv` - the options

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD