分箱_best-ks分箱

好久没有更新了,emm…

之前给大家分享过卡方分箱,想了解的可以点击下面链接。
卡方分箱

那么,今天给大家分享在评分卡中另外一种常见的分箱方法best-ks,首先我们先来了解一下,best-ks是如何分箱的。

1.分箱逻辑:

步骤:
  将变量排序后,计算出ks最大的值,即为切点,将数据分成2部分,分别对这2部分数据继续计算ks,找切点,直至达到箱子上限数

分箱后的KS值<=分箱前的KS值

2.实现代码:

################################### 计算ks值
def cal_ks(regroup,min_samples):
    '''
    args:        
        regroup:统计每个值的好、坏数,df
        min_samples:最小样本数
    return:
        ks_dict:
            ks_range:区间范围
            max_ks_cutoff:ks值最大的切点
            max_ks_value:最大的ks值        
    '''

    ks_range = str(regroup['feature_name'].agg(['min','max']).values.tolist()) # 最小值、最大值

    if (len(regroup) == 1) or (regroup['CntRec'].sum() < min_samples) or (regroup['CntBad'].sum()==0) or (regroup['CntGood'].sum()==0):
        # 出现以下四种情况将不进行分箱:只有一种值、总样本数较少、坏样本数为0、好样本数为0
        ks_dict = {
   ks_range:[-999999,-999999]}
    else
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值