def test_efdt_split_reevaluation(): dataset = synth.SEA(seed=7, variant=2).take(500) model = tree.ExtremelyFastDecisionTreeClassifier( leaf_prediction="nb", grace_period=50, min_samples_reevaluate=10, split_criterion="hellinger", split_confidence=0.1, ) max_depth = -1 for x, y in dataset: model.learn_one(x, y) if model.height > max_depth: max_depth = model.height assert model.height != max_depth
( get_classification_data(), tree.HoeffdingAdaptiveTreeClassifier( leaf_prediction="mc", max_size=0.025, grace_period=50, memory_estimate_period=50, splitter=tree.splitter.ExhaustiveSplitter(), ), ), ( get_classification_data(), tree.ExtremelyFastDecisionTreeClassifier( leaf_prediction="mc", max_size=0.025, grace_period=50, memory_estimate_period=50, splitter=tree.splitter.ExhaustiveSplitter(), ), ), ], ) def test_memory_usage_class(dataset, model): for x, y in dataset: model.learn_one(x, y) assert model._raw_memory_usage / (2 ** 20) < 0.025 @pytest.mark.parametrize( "dataset, model",