Source code for simpleml.models.classifiers.sklearn.naive_bayes

'''
Wrapper module around `sklearn.naive_bayes`
'''

from .base_sklearn_classifier import SklearnClassifier
from simpleml.models.classifiers.external_models import ClassificationExternalModelMixin

from sklearn.naive_bayes import BernoulliNB, GaussianNB, MultinomialNB


__author__ = 'Elisha Yadgaran'


'''
Bernoulli
'''

[docs]class WrappedSklearnBernoulliNB(BernoulliNB, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnBernoulliNB(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnBernoulliNB(**kwargs)
''' Gaussian '''
[docs]class WrappedSklearnGaussianNB(GaussianNB, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnGaussianNB(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnGaussianNB(**kwargs)
''' Multinomial '''
[docs]class WrappedSklearnMultinomialNB(MultinomialNB, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnMultinomialNB(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnMultinomialNB(**kwargs)