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):
        pass

Classes

class Feature_selector (model)

Helper class that provides a standard way to create an ABC using inheritance.

Expand source code
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):
        pass

Ancestors

  • abc.ABC

Subclasses

Instance 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 code
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
def reset_model(self, model_name)
Expand source code
def 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