'''
Wrapper module around `sklearn.multiclass`
'''
from .base_sklearn_classifier import SklearnClassifier
from simpleml.models.classifiers.external_models import ClassificationExternalModelMixin
from sklearn.multiclass import OneVsRestClassifier, OneVsOneClassifier, OutputCodeClassifier
__author__ = 'Elisha Yadgaran'
'''
One Vs Rest Classifier
'''
[docs]class WrappedSklearnOneVsRestClassifier(OneVsRestClassifier, ClassificationExternalModelMixin):
[docs]class SklearnOneVsRestClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnOneVsRestClassifier(**kwargs)
'''
One Vs One Classifier
'''
[docs]class WrappedSklearnOneVsOneClassifier(OneVsOneClassifier, ClassificationExternalModelMixin):
[docs]class SklearnOneVsOneClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnOneVsOneClassifier(**kwargs)
'''
Output Code Classifier
'''
[docs]class WrappedSklearnOutputCodeClassifier(OutputCodeClassifier, ClassificationExternalModelMixin):
[docs]class SklearnOutputCodeClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnOutputCodeClassifier(**kwargs)