def test_fit_transform(self): """fit transform should give the same result as calling fit and transform separately""" arr = np.array([n + 1 for n in range(10)]) np.random.shuffle(arr) d1 = Discretiser(method="uniform", num_buckets=4) d1.fit(arr) r1 = d1.transform(arr) d2 = Discretiser(method="uniform", num_buckets=4) r2 = d2.fit_transform(arr) assert np.array_equal(r1, r2)
def test_fit_transform(self): """fit transform should give the same result as calling fit and transform separately""" arr = np.array([n + 1 for n in range(10)]) np.random.shuffle(arr) d1 = Discretiser(method="outlier", outlier_percentile=0.2) d1.fit(arr) r1 = d1.transform(arr) d2 = Discretiser(method="outlier", outlier_percentile=0.2) r2 = d2.fit_transform(arr) assert np.array_equal(r1, r2)
def test_fit_transform(self): """fit transform should give the same result as calling fit and transform separately""" arr = np.array([n + 1 for n in range(10)]) np.random.shuffle(arr) d1 = Discretiser(method="percentiles", percentile_split_points=[0.10, 0.40, 0.85]) d1.fit(arr) r1 = d1.transform(arr) d2 = Discretiser(method="percentiles", percentile_split_points=[0.10, 0.40, 0.85]) r2 = d2.fit_transform(arr) assert np.array_equal(r1, r2)
def test_fit_transform_raises_error(self): """since numeric split points are provided, fit will not do anything""" d = Discretiser(method="fixed", numeric_split_points=[1]) with pytest.raises(RuntimeError): d.fit_transform(np.array([1]))