# -*- coding:utf-8 -*- """ @author: yq @time: 2024/1/2 @desc: 特征筛选基类 """ import abc from typing import Dict, List from entitys import DataProcessConfigEntity, DataPreparedEntity, CandidateFeatureEntity, MetricFucEntity class FilterStrategyBase(metaclass=abc.ABCMeta): def __init__(self, data_process_config: DataProcessConfigEntity, *args, **kwargs): self._data_process_config = data_process_config @property def data_process_config(self): return self._data_process_config @abc.abstractmethod def filter(self, *args, **kwargs) -> Dict[str, CandidateFeatureEntity]: pass @abc.abstractmethod def feature_generate(self, *args, **kwargs) -> DataPreparedEntity: pass @abc.abstractmethod def feature_report(self, *args, **kwargs) -> Dict[str, MetricFucEntity]: pass