'''
Wrapper module around `sklearn.ensemble`
'''
from .base_sklearn_classifier import SklearnClassifier
from simpleml.models.classifiers.external_models import ClassificationExternalModelMixin
from sklearn.ensemble import AdaBoostClassifier, BaggingClassifier, ExtraTreesClassifier,\
GradientBoostingClassifier, RandomForestClassifier, VotingClassifier
__author__ = 'Elisha Yadgaran'
'''
AdaBoost Classifier
'''
[docs]class WrappedSklearnAdaBoostClassifier(AdaBoostClassifier, ClassificationExternalModelMixin):
[docs]class SklearnAdaBoostClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnAdaBoostClassifier(**kwargs)
'''
Bagging Classfier
'''
[docs]class WrappedSklearnBaggingClassifier(BaggingClassifier, ClassificationExternalModelMixin):
[docs]class SklearnBaggingClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnBaggingClassifier(**kwargs)
'''
Extra Trees Classifier
'''
'''
Gradient Boosting Classifier
'''
[docs]class WrappedSklearnGradientBoostingClassifier(GradientBoostingClassifier, ClassificationExternalModelMixin):
[docs]class SklearnGradientBoostingClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnGradientBoostingClassifier(**kwargs)
'''
Random Forest Classifier
'''
[docs]class WrappedSklearnRandomForestClassifier(RandomForestClassifier, ClassificationExternalModelMixin):
[docs]class SklearnRandomForestClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnRandomForestClassifier(**kwargs)
'''
Voting Classifier
'''
[docs]class WrappedSklearnVotingClassifier(VotingClassifier, ClassificationExternalModelMixin):
[docs]class SklearnVotingClassifier(SklearnClassifier):
def _create_external_model(self, **kwargs):
return WrappedSklearnVotingClassifier(**kwargs)