'''
Wrapper module around `sklearn.linear_model`
'''
from .base_sklearn_classifier import SklearnClassifier
from simpleml.models.classifiers.external_models import ClassificationExternalModelMixin
from sklearn.linear_model import LogisticRegression, LogisticRegressionCV, Perceptron,\
RidgeClassifier, RidgeClassifierCV, SGDClassifier
__author__ = 'Elisha Yadgaran'
'''
Logistic Regression
'''
[docs]class WrappedSklearnLogisticRegression(LogisticRegression, ClassificationExternalModelMixin):
[docs]class SklearnLogisticRegression(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnLogisticRegression(**kwargs)
[docs]class WrappedSklearnLogisticRegressionCV(LogisticRegressionCV, ClassificationExternalModelMixin):
[docs]class SklearnLogisticRegressionCV(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnLogisticRegressionCV(**kwargs)
'''
Perceptron
'''
[docs]class WrappedSklearnPerceptron(Perceptron, ClassificationExternalModelMixin):
[docs]class SklearnPerceptron(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnPerceptron(**kwargs)
'''
Ridge Classifier
'''
[docs]class WrappedSklearnRidgeClassifier(RidgeClassifier, ClassificationExternalModelMixin):
[docs]class SklearnRidgeClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnRidgeClassifier(**kwargs)
[docs]class WrappedSklearnRidgeClassifierCV(RidgeClassifierCV, ClassificationExternalModelMixin):
[docs]class SklearnRidgeClassifierCV(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnRidgeClassifierCV(**kwargs)
'''
SGD Classifier
'''
[docs]class WrappedSklearnSGDClassifier(SGDClassifier, ClassificationExternalModelMixin):
[docs]class SklearnSGDClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnSGDClassifier(**kwargs)