from woe_bin import woe_bin import sys def woe_bin(merge_data,label): wb = woe_bin(indata = merge_data, target=label, min_group_rate=0.05, max_bin=6, bin_method='mono', alg_method='iv') #print(wb) mapiv = wb.split_data() #print(mapiv) mapiv.to_csv('woe_0120_调整_woe_1.csv') mapiv1 = mapiv[mapiv['iv'] >= 0.02] #转为woe格式 w_tab = wb.apply_woetab(merge_data, mapiv1) #print(w_tab) # w_tab.to_csv('data_woe值.csv') return w_tab
def lisan_woe(merge_data,t_data,variable,target):
y_all = len(merge_data[target])
y_1 = sum(merge_data[target])
y_0 = y_all - y_1
##对于特殊部分的woe编码
for k in variable:
dic_count = {}
dic_bad = {}
dic_good = {}
j = 0
mt = merge_data.groupby([k])[target].count().values
mt