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

'''
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] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnOneVsRestClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnOneVsRestClassifier(**kwargs)
''' One Vs One Classifier '''
[docs]class WrappedSklearnOneVsOneClassifier(OneVsOneClassifier, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnOneVsOneClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnOneVsOneClassifier(**kwargs)
''' Output Code Classifier '''
[docs]class WrappedSklearnOutputCodeClassifier(OutputCodeClassifier, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnOutputCodeClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnOutputCodeClassifier(**kwargs)