amphibian-dev / toad

ESC Team's credit scorecard tools.
https://toad.readthedocs.io
MIT License
474 stars 173 forks source link

Xyn #107

Closed FrankDataAnalystPython closed 1 year ago

FrankDataAnalystPython commented 1 year ago

New Transformers

增加了新的4个Transformers, 这些新的Transformers全部在transfom目录下。

  1. select_transfomer.py
    1. 从selection.py中将select做提取且封装成transformer, SelectTransformer4pipe, 4是For的意思
    2. 从selection_test.py中将所有select的test function复制过来做transformer的测试,且全部测试成功
  2. combiner.py
    1. combiner自己本身就是非常像一个transformer,但是其结构还是有点和sklearn里的有出入,从而无法成功对其使用gridsearchcv
    2. 在combiner.py中增加了新的transformer, CombinerTransformer4pipe
    3. 在combiner_test.py中将基于combiner的测试代码做复制,用来做新transformer的测试, 且全部测试成功
  3. woe_transformer.py
    1. woe_transformer自己本身就是非常像一个transformer,但是其结构还是有点和sklearn里的有出入,从而无法成功对其使用gridsearchcv
    2. 在该文件中增加新的transformer,WOETransformer4pipe
    3. 在woe_transformer_test.py中将基于woe_transformer的测试代码做复制,用来做新transformer的测试, 且全部测试成功
  4. stepwise_transformer.py
    1. 从selection.py中将stepwise做提取且封装成transformer, StepwiseTransformer4pipe
    2. 从selection.py中将所有stepwise的test function复制过来做transformer的测试,且全部测试成功
  5. pipeline.py
    1. Toad_Pipeline类将上面的四个模块按顺序综合,形成最终的pipline
    2. 该pipline的properties和functions和sklearn的pipeline一模一样
    3. 增加了新的@property, 可以通过.select, .combiner, .woe, .select直接访问其各个transformer
    4. pipeline_test.py中检测了预设rules和gridsearchcv的test,且全部测试成功
Secbone commented 1 year ago

@FrankDataAnalystPython 这里我建议直接修改原来的 CombinerWOETransformer 等组件,将参数改为可以在 __init__ 时设置,我最近会先改一下 Combiner 试一下,看是否可以做到兼容

另外我看目前的测试用例可能还有问题,可能需要再修复一下