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
def get_regression_data(): return iter(synth.Friedman(seed=42).take(200))
from river import evaluate from river import metrics from river import neighbors from river import preprocessing from river import synth # from radius_neighbors import RadiusNeighborsRegressor from k_nearest_neighbors import KNNRegressor dataset = iter(synth.Friedman(seed=1).take(50000)) # model = ( # preprocessing.StandardScaler() | # neighbors.KNNRegressor(window_size=1000) # ) # model = ( # preprocessing.StandardScaler() | # RadiusNeighborsRegressor(max_size=1000, r=1, aggregation='distance', # delta=0.1, seed=42, k=4) # ) model = (preprocessing.StandardScaler() | KNNRegressor(n_neighbors=3, window_size=1000, r=1, c=10, aggregation_method='mean', delta=0.1, seed=42, k=4))
def get_regression_data(): return synth.Friedman(seed=42).take(500)
from river import synth from river import metrics from sgt import StreamingGradientTreeRegressor metric = metrics.MAE() dataset = iter(synth.Friedman(seed=42).take(1000)) tree = StreamingGradientTreeRegressor(delta=0.1) for x, y in dataset: metric.update(y, tree.predict_one(x)) tree.learn_one(x, y) print(metric) print('Tree depth:', tree.depth) print('Number of nodes:', tree.n_nodes) # from river import datasets # from river import evaluate # from river import linear_model # from river import metrics # from river import optim # from river import preprocessing # # from sgt import StreamingGradientTreeClassifier # # dataset = datasets.Phishing() # model = (