1234567891011121314151617181920212223242526 |
- # -*- coding: utf-8 -*-
- """
- @author: yq
- @time: 2024/11/25
- @desc: 特征筛选策略工厂
- """
- from typing import Type
- from commom import GeneralException
- from enums import FeatureStrategyEnum, ResultCodesEnum
- from .feature_strategy_base import FeatureStrategyBase
- from .woe.strategy_woe import StrategyWoe
- strategy_map = {
- FeatureStrategyEnum.WOE.value: StrategyWoe
- }
- class FeatureStrategyFactory():
- @staticmethod
- def get_strategy(strategy: str) -> Type[FeatureStrategyBase]:
- if strategy not in strategy_map.keys():
- raise GeneralException(ResultCodesEnum.NOT_FOUND, message=f"特征搜索策略【{strategy}】不存在")
- strategy = strategy_map.get(strategy)
- return strategy
|