def test_combiner_empty_separate(): combiner = Combiner() bins = combiner.fit_transform(df, 'target', n_bins = 4, empty_separate = True) mask = pd.isna(df['D']) assert (bins['D'][~mask] != 4).all()
'[8 ~ inf)': 400, 'nan': 500, }, 'B': { ','.join(list('ABCD')): 200, ','.join(list('EF')): 400, 'else': 500, }, 'C': { 'A': 200, 'B': 100, }, } combiner = Combiner() bins = combiner.fit_transform(df, target, n_bins=5) woe_transer = WOETransformer() woe = woe_transer.fit_transform(bins, target) # create a score card card = ScoreCard( combiner=combiner, transer=woe_transer, ) card.fit(woe, target) FUZZ_THRESHOLD = 1e-4 TEST_SCORE = pytest.approx(453.58, FUZZ_THRESHOLD) def test_proba_to_score():