Exemplo n.º 1
0
def test_drift_adaptation_hatr():
    dataset = synth.Friedman(seed=7).take(500)

    model = tree.HoeffdingAdaptiveTreeRegressor(
        leaf_prediction="model",
        grace_period=50,
        split_confidence=0.1,
        adwin_confidence=0.1,
        drift_window_threshold=10,
        seed=7,
        max_depth=3,
    )

    for i, (x, y) in enumerate(dataset):
        y_ = y
        if i > 250:
            # Emulate an abrupt drift
            y_ = 3 * y
        model.learn_one(x, y_)

    assert model._n_alternate_trees > 0
Exemplo n.º 2
0
    assert model._raw_memory_usage / (2 ** 20) < 0.025


@pytest.mark.parametrize(
    "dataset, model",
    [
        (
            get_regression_data(),
            tree.HoeffdingTreeRegressor(
                leaf_prediction="mean", max_size=0.5, memory_estimate_period=100
            ),
        ),
        (
            get_regression_data(),
            tree.HoeffdingAdaptiveTreeRegressor(
                leaf_prediction="mean", max_size=0.5, memory_estimate_period=100
            ),
        ),
    ],
)
def test_memory_usage_reg(dataset, model):
    for x, y in dataset:
        model.learn_one(x, y)

    assert model._raw_memory_usage / (2 ** 20) < 0.5


def test_memory_usage_multilabel():
    dataset = datasets.Music().take(500)

    model = tree.LabelCombinationHoeffdingTreeClassifier(