import pickle from collections import defaultdict import pandas as pd from glob import glob from pathlib import Path for setup in ['binary', 'multiclass']: path = f'./results/{setup}/*.pkl' table = defaultdict(list) for file in glob(path): file = Path(file) dataset, method = file.name.replace('.pkl', '').split('__') report = pickle.load(open(file, 'rb')) results = report['results'] n_samples = len(results['ae']) table['method'].extend([method] * n_samples) table['dataset'].extend([dataset] * n_samples) table['ae'].extend(results['ae']) table['coverage'].extend(results['coverage']) table['amplitude'].extend(results['amplitude']) pd.set_option('display.max_columns', None) pd.set_option('display.width', 1000) pd.set_option('display.max_rows', None) df = pd.DataFrame(table) pv = pd.pivot_table(df, index='dataset', columns='method', values=['ae', 'coverage', 'amplitude']) print(f'{setup=}') print(pv) print()