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()