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.
|
NaiveBayes
Holds information for a NaiveBayes classifier.
|
|
|
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
|
|
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 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
|