32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
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()
|
|
|