Python之woe:woe库的简介、安装、使用方法之详细攻略
Python之woe:woe库的简介、安装、使用方法之详细攻略
woe库的简介
woe转换工具主要用于信用评级的记分卡模型。在woe中,对变量进行分箱的原理类似于二叉决策树,其中决定如何划分的目标函数是iv值。特点如下:
- 基于IV准则的分裂树
- 丰富的模型评价方法
- 格式统一,输出方便
- IV树的储存以备后续使用
官网:https://github.com/boredbird/woe
1、离散值分箱原理
将每个值作为一个分组,计算个分组woe值,再计算IV值。
2、连续值分箱原理
- 计算将整体数据作为一个分组的IV值(命名为IV0);
- 对所有值排序,根据最大,最小值平均划分100个取值区间(99个区间分割点,每个分割点可以将整体数据分割为左右两部分);
- 针对每个分割点,尝试将左右两部分作为两个分组,计算IV值(如果此种分组中,左右有一个分组中数据少于总体数据量的5%,不计算此分组IV)。获取99中分组方式中的最大IV值(IVmax);
- 假如此最大IV值(IVmax)大于不分组IV值的101%(IV0),不进行分割。否则,以此分割点将数据整体分为左右两个组。每个组独立重新进行1步骤,进入下一轮循环。
- 根据记录所有分组点进行数据整体分组,计算IV。
woe库函数的安装
pip install woe
woe库函数的使用方法
1、woe模块功能树
|- __init__
|- config.py
| |-- config
| |-- __init__
| |-- change_config_var_dtype()
| |-- load_file()
|- eval.py
| |-- compute_ks()
| |-- eval_data_summary()
| |-- eval_feature_detail()
| |-- eval_feature_stability()
| |-- eval_feature_summary()
| |-- eval_model_stability()
| |-- eval_model_summary()
| |-- eval_segment_metrics()
| |-- plot_ks()
| |-- proc_cor_eval()
| |-- proc_validation()
| |-- wald_test()
|- feature_process.py
| |-- binning_data_split()
| |-- calculate_iv_split()
| |-- calulate_iv()
| |-- change_feature_dtype()
| |-- check_point()
| |-- fillna()
| |-- format_iv_split()
| |-- proc_woe_continuous()
| |-- proc_woe_discrete()
| |-- process_train_woe()
| |-- process_woe_trans()
| |-- search()
| |-- woe_trans()
|- ftrl.py
| |-- FTRL()
| |-- LR()
|- GridSearch.py
| |-- fit_single_lr()
| |-- grid_search_lr_c()
| |-- grid_search_lr_c_main()
| |-- grid_search_lr_validation()
赞 (0)