Example #1
0
def generate_time_file(include, exclude, output_name='results/data_norm.time'):
    files_list = common.get_file_names(include, exclude)
    time_dict = {}
    data_file = open(output_name, 'w')
    data_file.write(
        'size\tdimension\tdelta\tembedding time\tl1 time\tedit_time\ttotal time\n'
    )
    ''' format = size, dimension, delta, embedding time, l1 time, edit_time, total time'''

    for files in files_list:
        file_name = 'distances/{}'.format(files)
        dist = numpy.load(file_name)
        params = file_name[:-9].split('_')
        if len(params) >= 5:
            [size, dimension, delta] = map(float, params[2:5])
            if dimension <= 20 and size > 2**dimension:
                size = 2**dimension
            if 'arr_1' in dist.keys():
                temp = dist['arr_1'].tolist()
                time_dict[files] = temp
                norm_factor = size * (size - 1) / 2
                str_to_write = '{}\t{}\t{}\t{}\t{}\t{}\t{}\n'.format(
                    size, dimension, delta, temp['embedding_time'] / size,
                    temp['l1_distance_time'] / norm_factor,
                    temp['edit_distance_time'] / norm_factor,
                    temp['total_time'] / norm_factor)
                data_file.write(str_to_write)

    data_file.close()
Example #2
0
def comp_distortion_variation(include, exclude, delta='0.1'):
    files = common.get_file_names(include, exclude)
    for file_name in files:
        means = []
        ans = mean_distortion('distances/' + file_name)
        means.append(ans[0])
    return means
def generate_time_file(include, exclude, output_name='results/data_norm.time'):
    files_list = common.get_file_names(include, exclude)
    time_dict = {}
    data_file = open(output_name, 'w')
    data_file.write('size\tdimension\tdelta\tembedding time\tl1 time\tedit_time\ttotal time\n')
    ''' format = size, dimension, delta, embedding time, l1 time, edit_time, total time'''

    for files in files_list:
        file_name = 'distances/{}'.format(files)
        dist = numpy.load(file_name)
        params = file_name[:-9].split('_')
        if len(params) >= 5:
            [size, dimension, delta] = map(float, params[2:5])
            if dimension <= 20 and size > 2**dimension:
                size = 2**dimension
            if 'arr_1' in dist.keys():
                temp = dist['arr_1'].tolist()
                time_dict[files] = temp
                norm_factor = size * (size - 1) / 2
                str_to_write = '{}\t{}\t{}\t{}\t{}\t{}\t{}\n'.format(size, dimension, delta, temp['embedding_time'] / size, temp[
                                                                     'l1_distance_time'] / norm_factor, temp['edit_distance_time'] / norm_factor, temp['total_time'] / norm_factor)
                data_file.write(str_to_write)

    data_file.close()