# -*- coding: utf-8 -*-
"""
@author: yq
@time: 2024/11/1
@desc: 
"""
import time

from entitys import DataSplitEntity, DataProcessConfigEntity
from feature import FilterStrategyFactory
from feature.strategy_iv import StrategyIv

if __name__ == "__main__":
    time_now = time.time()
    import scorecardpy as sc
    dat = sc.germancredit()
    dat["creditability"] = dat["creditability"].apply(lambda x: 1 if x == "bad" else 0)
    data = DataSplitEntity(dat[:700], None, dat[700:])
    filter_strategy_factory= FilterStrategyFactory(DataProcessConfigEntity.from_config('./config/data_process_config_template.json'))
    strategy = filter_strategy_factory.get_strategy()
    candidate_feature = strategy.filter(data)
    candidate_feature = strategy.feature_generate(data, candidate_feature)

    print(time.time() - time_now)