#手工分箱
#cutx3 = [-inf, 0, 1, 3, 5, +inf] NumberOfTime30-59DaysPastDueNotWorse
d1 = pd.DataFrame({"X": train_X['NumberOfTime30-59DaysPastDueNotWorse'], "Y": train_y})
d1['Bucket'] = d1['X']
d1_x1 = d1.loc[(d1['Bucket'] <= 0)]
d1_x1.loc[:, 'Bucket'] = "(-inf,0]"
d1_x2 = d1.loc[(d1['Bucket'] > 0) & (d1['Bucket'] <= 1)]
d1_x2.loc[:, 'Bucket'] = "(0,1]"
d1_x3 = d1.loc[(d1['Bucket'] > 1) & (d1['Bucket'] <= 3)]
d1_x3.loc[:, 'Bucket'] = "(1,3]"
d1_x4 = d1.loc[(d1['Bucket'] > 3) & (d1['Bucket'] <= 5)]
d1_x4.loc[:, 'Bucket'] = "(3,5]"
d1_x5 = d1.loc[(d1['Bucket'] > 5)]
d1_x5.loc[:, 'Bucket'] = "(5,+inf)"
d1 = pd.concat([d1_x1, d1_x2, d1_x3, d1_x4, d1_x5])
x3_d, x3_iv, x3_woe = woe_value(d1)
x3_cut = [float('-inf'), 0, 1, 3, 5, float('+inf')]
手工分箱的代码实现
最新推荐文章于 2023-09-22 17:05:17 发布