def test_numerical_default_transform(): optb = MulticlassOptimalBinning() with raises(NotFittedError): x_transform = optb.transform(x) optb.fit(x, y) x_transform = optb.transform([0.3, 2.1, 2.5, 3], metric="mean_woe") assert x_transform == approx([0.48973998, 0.48973998, -0.00074357, 0.02189459], rel=1e-5)
def test_default_transform_multiclass(): data = load_wine() variable_names = data.feature_names X = data.data y = data.target process = BinningProcess(variable_names) process.fit(X, y) X_transform = process.transform(X) optb = process.get_binned_variable(variable_names[0]) assert isinstance(optb, MulticlassOptimalBinning) optb = MulticlassOptimalBinning() x = X[:, 5] optb.fit(x, y) assert optb.transform(x) == approx(X_transform[:, 5], rel=1e-6)