Spaces:
Sleeping
Sleeping
File size: 645 Bytes
536ba3d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | from __future__ import annotations
import numpy as np
from src.models.ensemble.stacking import StackingEnsemble, WeightedAverageEnsemble
def test_stacking_and_weighted_ensemble():
X = np.array([[1.0], [2.0], [3.0], [4.0]])
y = np.array([2.0, 4.0, 6.0, 8.0])
learners = [
("m1", lambda z: z[:, 0] * 2.0),
("m2", lambda z: z[:, 0] * 1.8),
]
stack = StackingEnsemble(learners)
stack.fit(X, y, n_folds=2)
preds = stack.predict(X)
assert preds.shape == y.shape
wa = WeightedAverageEnsemble(learners)
wa.fit(X, y)
w = wa.get_weights_dict()
assert np.isclose(sum(w.values()), 1.0)
|