filter_strategy_base.py 991 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # -*- coding:utf-8 -*-
  2. """
  3. @author: yq
  4. @time: 2024/1/2
  5. @desc: 特征筛选基类
  6. """
  7. import abc
  8. from typing import Dict, List
  9. from entitys import DataProcessConfigEntity, DataPreparedEntity, CandidateFeatureEntity, MetricFucEntity
  10. class FilterStrategyBase(metaclass=abc.ABCMeta):
  11. def __init__(self, data_process_config: DataProcessConfigEntity, *args, **kwargs):
  12. self._data_process_config = data_process_config
  13. @property
  14. def data_process_config(self):
  15. return self._data_process_config
  16. @abc.abstractmethod
  17. def filter(self, *args, **kwargs) -> Dict[str, CandidateFeatureEntity]:
  18. """
  19. 特征筛选
  20. """
  21. pass
  22. @abc.abstractmethod
  23. def feature_generate(self, *args, **kwargs) -> DataPreparedEntity:
  24. """
  25. 特征转换
  26. """
  27. pass
  28. @abc.abstractmethod
  29. def feature_report(self, *args, **kwargs) -> Dict[str, MetricFucEntity]:
  30. """
  31. 特征报告
  32. """
  33. pass