Python變數分箱 woe值單調分箱

2021-09-29 02:39:35 字數 1076 閱讀 6257

最近上傳了乙個變數分箱的方法到pypi,這個包主要有以下說明:

缺失值單獨一箱,不論缺失的數量多少;

生成的分箱woe值是單調的,後續有時間會迭代u型分箱的版本;

會有分箱最小樣本數佔比,類似決策樹的最小葉節點佔比;

分箱成功的變數才會保留,有可能失敗的情況是找不出同時滿足上述2和3的分箱;

增加了多程序,提公升分箱速度

除了iv以外,增加變數切分的其他演算法:alg_method = 『iv』 , 『gini』和』entropy』

具體的變數分箱原理見之前的部落格。

可以通過pip install woe-bin 安裝。最新版本1.0.2

應用範例如下:

1、連續變數:

from woe_bin import woe_bin

wb = woe_bin(indata=dtrain, target=

'target'

, min_group_rate=

0.05

, max_bin=

6, bin_method=

'mono'

, alg_method=

'iv'

)mapiv = wb.split_data(

)mapiv1 = mapiv[mapiv[

'iv'

]>=

0.02

]#轉為woe格式

2、類別變數:
from woe_bin import woe_bin

wb = woe_bin(indata=dtrain, target=

'target'

, min_group_rate=

0.05

, max_bin=6)

cate_mapiv, cate_mapdict = wb.split_data_cate(

)

cate_mapiv:記錄類別變數初始替換成woe後,連續變數的分箱

cate_mapdict: 記錄類別變數原值與最終woe的對映

對類別變數的分箱只是做為參考,最終還是要根據業務來調整下分箱。

使用決策樹分箱計算woe和iv值例項

使用信用卡預期資料 kaggle案例的訓練資料 give me some credit 目標變數為seriousdlqin2yrs 表示未來是否為逾期90天 1表示逾期90天 即通常意義上的壞客戶,0則表示沒有逾期90天 的好客戶。import numpy as np import pandas a...

python機器學習 IV值 WOE值的計算

評分卡模型中的iv和woe詳解 看完後,一定要注意 iv衡量的是某乙個變數的資訊量,從公式來看的話,相當於是自變數woe值的乙個加權求和,其值的大小決定了自變數對於目標變數的影響程度,對於分組 i 其對應的iv值參考下圖,其中n是分組個數,注意,在變數的任何分組中,不應該出現響應數為0或非響應數字0...

python 基於卡方值分箱演算法

原理很簡單,初始分20箱或更多,先確保每箱中都含有0,1標籤,對不包含0,1標籤的箱向前合併,計算各箱卡方值,對卡方值最小的箱向後合併,如下 import pandas as pd import numpy as np import scipy from scipy import stats def...