Spaces:
Running
Running
| from enum import Enum | |
| from typing import List, Literal | |
| class Feature(Enum): | |
| _name: str | |
| _type: Literal['category', 'number', 'date'] | |
| CUSTOMER_JOB = ('job', 'category') | |
| CUSTOMER_CITY = ('city', 'category') | |
| CUSTOMER_STATE = ('state', 'category') | |
| TRANSACTION_CATEGORY = ('category', 'category') | |
| TRANSACTION_AMOUNT = ('amt', 'number') | |
| CUSTOMER_CITY_POP = ('city_pop', 'number') | |
| def __new__(cls, name: str, type: Literal['category', 'number']): | |
| obj = object.__new__(cls) | |
| obj._value_ = name | |
| obj._name = name | |
| obj._type = type | |
| return obj | |
| def name(self): | |
| return self._name | |
| def type(self): | |
| return self._type | |
| def get_features_by_type(cls, type: Literal['category', 'number']) -> List['Feature']: | |
| return [feature for feature in cls if feature.type == type] | |
| def get_all_features(cls) -> List['Feature']: | |
| return [feature for feature in cls] |