1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- # -*- 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 variable_analyse(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
|