Exemple #1
0
    def __init__(self, **kwargs): 
        self._logging = watexlog().get_watex_logger(self.__class__.__name__)

        for key in list(kwargs.keys()): 
            setattr(self, key, kwargs[key])
        
        if hasattr(self, '_givenATTR'): 
            self._findFeaturePerSite_()
Exemple #2
0
def reset_matplotlib():

    interactive = matplotlib.rcParams['interactive']
    backend = matplotlib.rcParams['backend']
    matplotlib.rcdefaults()  # reset the rcparams to default
    matplotlib.rcParams['backend'] = backend
    matplotlib.rcParams['interactive'] = interactive
    logger = watexlog().get_watex_logger(__name__)

    logger.info("Testing using matplotlib backend {}".format(
        matplotlib.rcParams['backend']))
Exemple #3
0
    def __init__(self, df=None, data_fn = None , **kwargs): 
        
        self._logging =watexlog().get_watex_logger(self.__class__.__name__)
        
        self._df =df 
        self._data_fn = data_fn 
        
        self.fig_num= kwargs.pop('fig_num', 1)
        self.fig_size = kwargs.pop('fig_size', [12,6])
        self.fig_dpi =kwargs.pop('fig_dpi', 300)
        self.savefig = kwargs.pop('savefig', None)
        self.fig_legend= kwargs.pop('fig_legend_kws', None)
        
        self.fig_orientation =kwargs.pop('fig_orientation','landscape')
        self.fig_title =kwargs.pop('title', None)
        
        self.x_minorticks=kwargs.pop('xminorticks', 1)
        self.y_minorticks =kwargs.pop('yminorticks', 1)
        
        self.font_size =kwargs.pop('font_size',3.)
        self.font_style=kwargs.pop('font_style', 'italic')
        self.fs =kwargs.pop('fs', 2.)
        
        self.mstyle =kwargs.pop('maker_style', 'o')
        self.ms =kwargs.pop('ms', 3)
        # self.mplfont =kwargs.pop('font','cursive')
        self.markerfacecolor=kwargs.pop('markefacecolor', 'r')
        self.markeredgecolor=kwargs.pop('markeredgecolor', 'gray')
        
        self.lc = kwargs.pop('color', 'k')
        self.font_weight =kwargs.pop('font_weight', 'bold')
        self.ls= kwargs.pop('ls', '-')
        self.lw =kwargs.pop('lw', 1.5)
        self.alpha = kwargs.pop('alpha', 0.5)
        
        self.stacked = kwargs.pop('stacked', False)
        self.bins = kwargs.pop('bins', 10)
        
        self.xlim =kwargs.pop('xlim', None )
        self.ylim=kwargs.pop('y_lim', None) 
        
        self.sns_orient =kwargs.pop('orient', 'v')
        self.sns_height =kwargs.pop ('sns_height', 4.)
        self.sns_aspect =kwargs.pop ('sns_aspect', .7)
        
        
        self.xlabel=kwargs.pop('xlabel', None)
        self.ylabel=kwargs.pop('ylabel', None)
        
        for key in kwargs.keys(): 
            setattr(self, key, kwargs[key])

        if self._data_fn is not None: 
            self.data_fn = self._data_fn 
Exemple #4
0
    def __init__(self, data_fn =None , df=None , **kwargs)->None : 
        self._logging = watexlog().get_watex_logger(self.__class__.__name__)
        
        self._data_fn = data_fn 
        self._df =df   
        
        self.categorial_features =kwargs.pop('categorial_features', None)
        self.numerical_features =kwargs.pop('numerical_features', None)
        
        self.target =kwargs.pop('target', 'flow')
        self._drop_features = kwargs.pop('drop_features', ['lwi'])
        self.random_state = kwargs.pop('random_state', 0)
        self.default_estimator = kwargs.pop('default_estimator', 'svc')
        
        self._df_cache =None 
        self._features = None 
        
        self.y = None 
        self.X = None 
        self.X_train =None 
        self.X_test = None 
        self.y_train =None 
        self.y_test =None 
        

        self._num_column_selector = make_column_selector(
            dtype_include=np.number)
        self._cat_colum_selector =make_column_selector(
            dtype_exclude=np.number)
        self._features_engineering =PolynomialFeatures(
            10, include_bias=False) 
        self._selectors= SelectKBest(f_classif, k=4) 
        self._scalers =RobustScaler()
        self._encodages =OneHotEncoder()
        
        self._select_estimator_ =None 
        
        
        for key in kwargs.keys(): 
            setattr(self, key, kwargs[key])

        if self._data_fn is not None: 
            self.data_fn = self._data_fn 

        if self.df is not None : 
            self._read_and_encode_catFeatures()
Exemple #5
0
    def __init__(self,
                 listOferpfn=None,
                 listOfposMinMax=None,
                 erpObjs=None,
                 **kws):
        self._logging = watexlog().get_watex_logger(self.__class__.__name__)

        self.erpObjs = erpObjs
        self.anomBoundariesObj = listOfposMinMax
        self.dipoleLengthObjs = kws.pop('list_of_dipole_lengths', None)
        self.export_data = kws.pop('export_erpFeatures', False)
        self.export_fex = kws.pop('file_extension', 'csv')

        self.listOferpfn = listOferpfn
        self.id = None

        for key in list(kws.keys()):
            setattr(self, key, kws[key])

        self._readErpObjs()
Exemple #6
0
    def __init__(self, df=None, data_fn=None, **kws):
        self._logging = watexlog().get_watex_logger(self.__class__.__name__)

        self.data_fn = data_fn
        self._df = df
        self._target = kws.pop('target', 'flow')
        self._set_index = kws.pop('set_index', False)
        self._flow_classes = kws.pop('flow_classes', None)
        self._slmethod = kws.pop('slm', 'svm')
        self._sanitize_df = kws.pop('sanitize_df', True)

        self._drop_columns = kws.pop('drop_columns', ['east', 'north'])

        self._fn = None

        for key in list(kws.keys()):
            setattr(self, key, kws[key])

        if self.data_fn is not None or self._df is not None:
            self._dropandFlow_classifier()
Exemple #7
0
import warnings

from sklearn.tree import DecisionTreeClassifier
from sklearn.linear_model import SGDClassifier
from sklearn.neighbors import KNeighborsClassifier

from sklearn.svm import SVC

from watex.utils._watexlog import watexlog

_HAS_ENSEMBLE_ = False

try:
    from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier
    from sklearn.ensemble import VotingClassifier, BaggingClassifier, StackingClassifier
except:
    warnings.warn('Trying importation of :mod:`sklearn.ensemble` failed. ')
    watexlog().get_watex_logger(__name__).debug(
        'Try to import :mod:`sklearn.ensemble` failed!')
else:
    skl_ensemble__ = [
        RandomForestClassifier, AdaBoostClassifier, VotingClassifier,
        BaggingClassifier, StackingClassifier
    ]

    _HAS_ENSEMBLE_ = True
Exemple #8
0
from sklearn.model_selection import RandomizedSearchCV,  GridSearchCV
from sklearn.model_selection import train_test_split 
from sklearn.model_selection import GroupKFold 
from sklearn.model_selection import learning_curve 

from sklearn.metrics import confusion_matrix, f1_score, classification_report 

from sklearn.feature_selection import SelectKBest, f_classif 

from watex.analysis.features import sl_analysis 
from watex.viewer.plot import hints 

import  watex.utils.exceptions as Wex 
from watex.utils._watexlog import watexlog 

_logger =watexlog().get_watex_logger(__name__)


d_estimators__={'dtc':DecisionTreeClassifier, 
                'svc':SVC, 
                'sgd':SGDClassifier, 
                'knn':KNeighborsClassifier 
                 }

if _HAS_ENSEMBLE_ :
    from watex.processing.__init__ import skl_ensemble__
    for es_, esf_ in zip(['rdf', 'ada', 'vtc', 'bag','stc'], skl_ensemble__): 
        d_estimators__[es_]=esf_ 


class Preprocessing : 
Exemple #9
0
    SUCCESS_IMPORT_CHART_STUDIO = True

else:
    # updating chart_studio
    try:
        chart_studio_version = [
            int(ss) for ss in chart_studio.__version__.split('.')
        ]
        if chart_studio_version[0] == 1:
            if chart_studio_version[1] < 1:
                warnings.warn(
                    'Note: need chart_studio version 1.1.0 or higher to write '
                    ' to plot some analyses figures propertly.', ImportWarning)
                watexlog().get_watex_logger().warning(
                    'Note: need chart_studio version 1.14.0 to plot '
                    ' component analysis figures or might not work properly.')

            else:
                msg = 'Plot chart is currently able to run.'
                watexlog().get_watex_logger().info(''.join(
                    [msg, 'Chart_studio was successfully imported !']))

    except:

        watexlog().get_watex_logger().debug(
            'Trouble occurs during searching of chart_studio version 1.14.0 to  '
            ' to collect the updating version. Default version will be use for'
            ' chart plot.')

    else:
Exemple #10
0
    def __init__(self, geofn=None, **kwargs) -> None:
        self._logging = watexlog().get_watex_logger(self.__class__.__name__)

        pass