def merge_filtered_metrics(filtered_metrics):
result = {
'filtered_bcs': 0,
'filtered_bcs_lb': 0,
'filtered_bcs_ub': 0,
'max_filtered_bcs': 0,
'filtered_bcs_var': 0,
'filtered_bcs_cv': 0,
}
for i, fm in enumerate(filtered_metrics):
# Add per-gem group metrics
result.update({'gem_group_%d_%s' % (i + 1, key): value for key, value in fm.iteritems()})
# Compute metrics over all gem groups
result['filtered_bcs'] += fm['filtered_bcs']
result['filtered_bcs_lb'] += fm['filtered_bcs_lb']
result['filtered_bcs_ub'] += fm['filtered_bcs_ub']
result['max_filtered_bcs'] += fm['max_filtered_bcs']
result['filtered_bcs_var'] += fm['filtered_bcs_var']
# Estimate CV based on sum of variances and means
result['filtered_bcs_cv'] = tk_stats.robust_divide(
np.sqrt(result['filtered_bcs_var']), fm['filtered_bcs'])
return result
评论列表
文章目录