Пример #1
0
def run_optimization_tests(algorithm, input_files, key_file, is_weighted, max_eval):

    inputs = prepare_tw_input(input_files, is_weighted)

    search_space = get_search_space_by_algorithm(algorithm)

    LOGGER.info(
        "algorithm:{}, key_file: {}, weighted= {},  # of files: {}, "
        "max_eval={}".format(algorithm, key_file, is_weighted,
                             len(input_files), max_eval))

    optimize(objective, inputs, key_file, search_space, max_eval)
Пример #2
0
def run_kmeans(paths: List[Dict[str, str]], params):
    message = 'Running K-Means experiments'
    print(message + '...')
    logging.info(message)

    results_to_save = '### K-Means experiments results\n'
    results_to_save += 'Except K, the other parameters are the default ones (eg. euclidean distance)\n'

    for path in paths:
        results_to_save += f'{path["name"]} dataset\n'
        X = pd.read_csv(os.path.join('datasets', path['X']))
        Y = pd.read_csv(os.path.join('datasets', path['Y']), header=None)

        # Optimization of K

        alg_params = {
            'name': path['name'],
            'vis_dims': 2,
            'fig_save_path': params.output_path
        }
        results = optimize(X=X.values,
                           algorithm=KMeans,
                           algorithm_params=alg_params,
                           metric='calinski_harabasz_score',
                           metric_params={'X': X.values},
                           k_values=list(range(2, 15)),
                           goal='minimize')

        results_to_save = generate_results(X, Y, results, results_to_save)

    with open(os.path.join(params.output_path, 'results.md'), 'a') as f:
        f.write(results_to_save)