'''
Wrapper module around `sklearn.naive_bayes`
'''
[docs]__author__ = 'Elisha Yadgaran'
from .base_sklearn_classifier import SklearnClassifier
from simpleml.models.classifiers.external_models import ClassificationExternalModelMixin
from sklearn.naive_bayes import BernoulliNB, GaussianNB, MultinomialNB
import logging
[docs]LOGGER = logging.getLogger(__name__)
'''
Bernoulli
'''
[docs]class WrappedSklearnBernoulliNB(BernoulliNB, ClassificationExternalModelMixin):
[docs]class SklearnBernoulliNB(SklearnClassifier):
[docs] def _create_external_model(self, **kwargs):
return WrappedSklearnBernoulliNB(**kwargs)
'''
Gaussian
'''
[docs]class WrappedSklearnGaussianNB(GaussianNB, ClassificationExternalModelMixin):
[docs]class SklearnGaussianNB(SklearnClassifier):
[docs] def _create_external_model(self, **kwargs):
return WrappedSklearnGaussianNB(**kwargs)
'''
Multinomial
'''
[docs]class WrappedSklearnMultinomialNB(MultinomialNB, ClassificationExternalModelMixin):
[docs]class SklearnMultinomialNB(SklearnClassifier):
[docs] def _create_external_model(self, **kwargs):
return WrappedSklearnMultinomialNB(**kwargs)