Module minder_utils.models.utils.feature_selector
Expand source code
from abc import ABC, abstractmethod
from minder_utils.configurations import feature_selector_config
class Feature_selector(ABC):
    def __init__(self, model):
        self.name = self.methods[model]
        self.model = getattr(self, model)()
    @property
    def config(self) -> dict:
        return feature_selector_config[self.__class__.__name__.lower()]
    @property
    @abstractmethod
    def methods(self):
        pass
    def reset_model(self, model_name):
        self.name = self.methods[model_name]
        self.model = getattr(self, model_name)()
    def get_info(self, verbose=False):
        if verbose:
            print('Available methods:')
            for idx, key in enumerate(self.methods):
                print(str(idx).ljust(10, ' '), key.ljust(10, ' '), self.methods[key].ljust(10, ' '))
        return self.methods
    @abstractmethod
    def fit(self, X, y):
        pass
    @abstractmethod
    def transform(self, X):
        passClasses
- class Feature_selector (model)
- 
Helper class that provides a standard way to create an ABC using inheritance. Expand source codeclass Feature_selector(ABC): def __init__(self, model): self.name = self.methods[model] self.model = getattr(self, model)() @property def config(self) -> dict: return feature_selector_config[self.__class__.__name__.lower()] @property @abstractmethod def methods(self): pass def reset_model(self, model_name): self.name = self.methods[model_name] self.model = getattr(self, model_name)() def get_info(self, verbose=False): if verbose: print('Available methods:') for idx, key in enumerate(self.methods): print(str(idx).ljust(10, ' '), key.ljust(10, ' '), self.methods[key].ljust(10, ' ')) return self.methods @abstractmethod def fit(self, X, y): pass @abstractmethod def transform(self, X): passAncestors- abc.ABC
 SubclassesInstance variables- var config : dict
- 
Expand source code@property def config(self) -> dict: return feature_selector_config[self.__class__.__name__.lower()]
- var methods
- 
Expand source code@property @abstractmethod def methods(self): pass
 Methods- def fit(self, X, y)
- 
Expand source code@abstractmethod def fit(self, X, y): pass
- def get_info(self, verbose=False)
- 
Expand source codedef get_info(self, verbose=False): if verbose: print('Available methods:') for idx, key in enumerate(self.methods): print(str(idx).ljust(10, ' '), key.ljust(10, ' '), self.methods[key].ljust(10, ' ')) return self.methods
- def reset_model(self, model_name)
- 
Expand source codedef reset_model(self, model_name): self.name = self.methods[model_name] self.model = getattr(self, model_name)()
- def transform(self, X)
- 
Expand source code@abstractmethod def transform(self, X): pass