Python27 Documentation Pypi Landscape Travis


Python implementations of Naive Bayes algorithm variations with sklearn-like API.


  • Complement Naive Bayes
  • Negation Naive Bayes
  • Universal-set Naive Bayes
  • Selective Naive Bayes


You can install this module directly from GitHub repo with command:

pip install git+

or as a PyPI package

pip install bayes-variants


Bayes classifiers API mimics Scikit-Learn API, so usage is very simple.

from bayes.classifiers import ComplementNB
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer()
categories = ['alt.atheism', 'talk.religion.misc',
              '', '']

# Train set
newsgroups_train = fetch_20newsgroups(subset='train',
                                          categories=categories, shuffle=True)
X_train = vectorizer.fit_transform(
y_train =

# Test set
newsgroups_test = fetch_20newsgroups(subset='test',
                                          categories=categories, shuffle=True)
X_test = vectorizer.fit_transform(
y_test =

# Score
cnb = ComplementNB(), y_train).accuracy_score(X_test, y_test)