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

'''
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] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnAdaBoostClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnAdaBoostClassifier(**kwargs)
''' Bagging Classfier '''
[docs]class WrappedSklearnBaggingClassifier(BaggingClassifier, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnBaggingClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnBaggingClassifier(**kwargs)
''' Extra Trees Classifier '''
[docs]class WrappedSklearnExtraTreesClassifier(ExtraTreesClassifier, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnExtraTreesClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnExtraTreesClassifier(**kwargs)
''' Gradient Boosting Classifier '''
[docs]class WrappedSklearnGradientBoostingClassifier(GradientBoostingClassifier, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnGradientBoostingClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnGradientBoostingClassifier(**kwargs)
''' Random Forest Classifier '''
[docs]class WrappedSklearnRandomForestClassifier(RandomForestClassifier, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnRandomForestClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnRandomForestClassifier(**kwargs)
''' Voting Classifier '''
[docs]class WrappedSklearnVotingClassifier(VotingClassifier, ClassificationExternalModelMixin):
[docs] def get_feature_metadata(self, features, **kwargs): pass
[docs]class SklearnVotingClassifier(SklearnClassifier): def _create_external_model(self, **kwargs): return WrappedSklearnVotingClassifier(**kwargs)