woe编码对于少部分离散变量和大部分的离散变量

该博客介绍了一个用于离散变量WOE编码的Python函数`lisan_woe`,该函数处理了数据集中部分离散变量的WOE编码问题。通过遍历每个变量,计算各组的坏样本和好样本数量,进而计算WOE值。当出现除以零或者无穷大的情况时,通过添加小量正数进行修正。同时,函数还处理了缺失值的WOE编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值