Package Bio :: Module NaiveBayes
[hide private]
[frames] | no frames]

Module NaiveBayes

source code

This provides code for a general Naive Bayes learner.

Naive Bayes is a supervised classification algorithm that uses Bayes
rule to compute the fit between a new observation and some previously
observed data.  The observations are discrete feature vectors, with
the Bayes assumption that the features are independent.  Although this
is hardly ever true, the classifier works well enough in practice.

Glossary:
observation    A feature vector of discrete data.
class          A possible classification for an observation.


Classes:
NaiveBayes     Holds information for a naive Bayes classifier.

Functions:
train          Train a new naive Bayes classifier.
calculate      Calculate the probabilities of each class, given an observation.
classify       Classify an observation into a class.

Classes [hide private]
  NaiveBayes
Holds information for a NaiveBayes classifier.
Functions [hide private]
 
_contents(items) source code
probability dict

calculate(nb, observation, scale=...)
Calculate log P(class|observation) for each class.
source code
class

classify(nb, observation)
Classify an observation into a class.
source code
NaiveBayes

train(training_set, results, priors=...)
Train a naive bayes classifier on a training set.
source code
Variables [hide private]
  __package__ = 'Bio'
Function Details [hide private]

calculate(nb, observation, scale=...)

source code 
Calculate log P(class|observation) for each class.  nb is a NaiveBayes
classifier that has been trained.  observation is a list representing
the observed data.  scale is whether the probability should be
scaled by P(observation).  By default, no scaling is done.  The return
value is a dictionary where the keys is the class and the value is the
log probability of the class.

Returns:
probability dict

train(training_set, results, priors=...)

source code 
Train a naive bayes classifier on a training set.  training_set is a
list of observations.  results is a list of the class assignments
for each observation.  Thus, training_set and results must be the same
length.  priors is an optional dictionary specifying the prior
probabilities for each type of result.  If not specified, the priors
will be estimated from the training results.

Returns:
NaiveBayes