12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- # -*- coding:utf-8 -*-
- """
- @author: yq
- @time: 2024/1/2
- @desc: 特征筛选基类
- """
- import abc
- from typing import Dict
- import pandas as pd
- from entitys import MlConfigEntity, MetricFucResultEntity
- class FeatureStrategyBase(metaclass=abc.ABCMeta):
- def __init__(self, ml_config: MlConfigEntity = None, *args, **kwargs):
- if ml_config is not None:
- self._ml_config = ml_config
- else:
- self._ml_config = MlConfigEntity(*args, **kwargs)
- @property
- def ml_config(self):
- return self._ml_config
- @abc.abstractmethod
- def feature_search(self, *args, **kwargs):
- """
- 特征筛选
- """
- pass
- @abc.abstractmethod
- def feature_generate(self, *args, **kwargs) -> pd.DataFrame:
- """
- 特征转换
- """
- pass
- @abc.abstractmethod
- def feature_save(self, *args, **kwargs):
- """
- 特征保存
- """
- pass
- @abc.abstractmethod
- def feature_load(self, path: str, *args, **kwargs):
- """
- 特征加载
- """
- pass
- @abc.abstractmethod
- def feature_report(self, *args, **kwargs) -> Dict[str, MetricFucResultEntity]:
- """
- 特征报告
- """
- pass
- @abc.abstractmethod
- def jupyter_print(self, *args, **kwargs):
- """
- notebook输出
- """
- pass
|