def compute_all_scores(solution, prediction):
''' Compute all the scores and return them as a dist'''
missing_score = -0.999999
scoring = {'BAC (multilabel)':nbac_binary_score,
'BAC (multiclass)':nbac_multiclass_score,
'F1 (multilabel)':f1_binary_score,
'F1 (multiclass)':f1_multiclass_score,
'Regression ABS ':a_metric,
'Regression R2 ':r2_metric,
'AUC (multilabel)':auc_metric,
'PAC (multilabel)':npac_binary_score,
'PAC (multiclass)':npac_multiclass_score}
# Normalize/sanitize inputs
[csolution, cprediction] = normalize_array (solution, prediction)
solution = sanitize_array (solution); prediction = sanitize_array (prediction)
# Compute all scores
score_names = sorted(scoring.keys())
scores = {}
for key in score_names:
scoring_func = scoring[key]
try:
if key=='Regression R2 ' or key=='Regression ABS ':
scores[key] = scoring_func(solution, prediction)
else:
scores[key] = scoring_func(csolution, cprediction)
except:
scores[key] = missing_score
return scores
评论列表
文章目录