def create_sea_drift_dataset(n_samples_per_concept=200, concepts=[0, 1, 2, 3]): X_stream = [] Y_stream = [] concept_drifts = [] t = 0 gen = SEAGenerator() gen.prepare_for_use() for _ in concepts: if t != 0: concept_drifts.append(t) X, y = gen.next_sample(batch_size=n_samples_per_concept) X_stream.append(X) Y_stream.append(y) gen.generate_drift() t += n_samples_per_concept return { "data": (np.concatenate(X_stream, axis=0), np.concatenate(Y_stream, axis=0).reshape(-1, 1)), "drifts": np.array(concept_drifts) }
accuracy_3_mv = 0.0 accuracy_3_av = 0.0 accuracy_3_goowe = 0.0 total_3 = 0.0 true_predictions_3_mv = 0.0 true_predictions_3_av = 0.0 true_predictions_3_goowe = 0.0 total = 0. ### Generating drifts by generating random values for each Stream p1 = random.random() p2 = random.random() p3 = random.random() if p1 > p1_threshold: stream_1.generate_drift() logging.info('\n\tDrift generatoed for STREAM 1') if p2 > p2_threshold: stream_2.generate_drift() logging.info('\n\tDrift generatoed for STREAM 2') if p3 > p3_threshold: stream_3.generate_drift() logging.info('\n\tDrift generatoed for STREAM 3') total += 1 cur_1 = stream_1.next_sample() cur_2 = stream_2.next_sample() cur_3 = stream_3.next_sample() X_1, y_1 = cur_1[0], cur_1[1] X_2, y_2 = cur_2[0], cur_2[1] X_3, y_3 = cur_3[0], cur_3[1] preds_1 = goowe_1.predict(X_1)