Exemple #1
0
    final_output = {"error": error, "micro_f1": micro_f1, "macro_f1": macro_f1}

    parameters = {
        "n_cv_folds": n_cv_folds,
        "max_n_layers": max_n_layers,
        "concat_type": concat_type,
        "input_type": input_type,
        "n_vlpso_generations": n_vlpso_generations,
        "n_vlpso_population": n_vlpso_population,
        "n_trees": n_trees,
        "classifiers": classifiers_str
    }

    layer_errors = {
        "test_layer_errors": test_layer_errors,
        "val_layer_errors": val_layer_errors
    }

    time_output = {
        "train_time": train_time_end - train_time_start,
        "test_time": test_time_end - test_time_start
    }

    output_writer.write_output(best_candidate_output, 'best_candidate')
    output_writer.write_output(vlpso_output, 'vlpso_output', indent=2)
    output_writer.write_output(final_output, 'performance', indent=2)
    output_writer.write_output(parameters, 'parameters', indent=2)
    output_writer.write_output(layer_errors, 'layer_errors', indent=2)
    output_writer.write_output(time_output, 'runtime', indent=2)
    # ------------------ Testing phase ------------------------- #
    test_time_start = time.time()

    prediction = classifier.predict(X_test)

    # --------------------------------------------------------- #
    error = 1 - accuracy_score(Y_test, prediction)
    print('error =', error)
    micro_f1 = f1_score(Y_test - 1, prediction - 1, average='micro')
    print('micro_f1 =', micro_f1)
    macro_f1 = f1_score(Y_test - 1, prediction - 1, average='macro')
    print('macro_f1 =', macro_f1)

    test_time_end = time.time()

    # ----------------- Writing Output ------------------------- #

    final_output = {"error": error, "micro_f1": micro_f1, "macro_f1": macro_f1}

    parameters = {"n_trees": n_trees, "classifiers": classifier_str}

    time_output = {
        "train_time": train_time_end - train_time_start,
        "test_time": test_time_end - test_time_start
    }

    output_writer.write_output(final_output, 'performance', indent=2)
    output_writer.write_output(parameters, 'parameters', indent=2)
    output_writer.write_output(time_output, 'runtime', indent=2)