def apply_metric_results_macro_average(results, metric,
print_full_result=False):
for method in results.keys():
max_train = max(results[method].keys())
for train_perc in sorted(results[method].keys()):
samples = len(results[method][train_perc])
if print_full_result:
print ':'.join(map(str, [train_perc, method])) + ',' \
+ ','.join(map(lambda x: '{:.2f}'.format(x),
[metric(a, b, train_perc=train_perc,
max_train=max_train) for (a, b) in
results[method][train_perc]]))
metric_val = ' '.join(map(str, ['%.2f' % np.mean([metric(a,
b, train_perc=train_perc,
max_train=max_train) for (a, b) in
results[method][train_perc]]), "\pm",
'%.2f' % np.std([metric(a, b,
train_perc=train_perc,
max_train=max_train) for (a, b) in
results[method][train_perc]])]))
results[method][train_perc] = (metric_val, samples)
评论列表
文章目录