Exemplo n.º 1
0
start = time.time()
with open(results_file, 'w') as fout:
    csv_writer = csv.writer(fout,
                            delimiter=';',
                            quotechar='"',
                            quoting=csv.QUOTE_MINIMAL)
    csv_writer.writerow(
        ["dataset", "cls", "params", "nr_events", "metric", "score"])

    total = 0
    total_acc = 0
    total_mae = 0
    for nr_events in range(2, max_len):

        # encode only prefixes of this length
        X, y_a, y_t = dataset_manager.generate_3d_data_for_prefix_length_no_padding(
            dt_train, nr_events, mode="train")
        X_test, y_a_test, y_t_test = dataset_manager.generate_3d_data_for_prefix_length_no_padding(
            dt_test, nr_events, mode="test")

        if X.shape[0] == 0 or X_test.shape[0] == 0:
            break

        y_t_test = y_t_test * dataset_manager.divisors["timesincelastevent"]
        print(nr_events, X.shape, X_test.shape, y_a_test.shape, y_t_test.shape)

        # train models
        cls_a = RandomForestClassifier(n_estimators=n_estimators,
                                       max_features=max_features)
        cls_a.fit(X, y_a)

        cls_t = RandomForestRegressor(n_estimators=n_estimators,