コード例 #1
0
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)
    }
コード例 #2
0
        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)