Source code for poi_interlinking.misc.writers

import os
import csv
import numpy as np

from poi_interlinking import helpers
from poi_interlinking import config


def save_features(fpath, data, delimiter=','):
    h = helpers.StaticValues(config.MLConf.classification_method)
    cols = ['index'] + h.final_cols + ['Class']
    # TODO: transform to metric (temporal for saving)
    data[:, 1] -= 1
    data[:, 1] *= -1
    data[:, -2] -= 1
    data[:, -2] *= -1

    np.savetxt(
        fpath, data, header=f'{delimiter}'.join(cols), comments='',
        fmt=f'{delimiter}'.join(['%i'] + ['%1.3f']*len(h.final_cols) + ['%i'])
    )


[docs]def write_results(fpath, results, delimiter='&'): """ Writes full and averaged experiment results. Args: fpath (:obj:`str`): Path to write. results (dict): Contains metrics as keys and the corresponding values values. delimiter (str): Field delimiter to use. """ file_exists = True if not os.path.exists(fpath): file_exists = False with open(fpath, 'a+') as file: writer = csv.writer(file, delimiter=delimiter) if not file_exists: writer.writerow(results.keys()) writer.writerow(results.values())