@@ -1287,7 +1287,7 @@ def calibrate_preds(
12871287 for m_name in pred_dict .keys ():
12881288 preds = [sum (a ) / len (a ) for a in zip (* list (pred_dict [m_name ].values ()))]
12891289 if len (measured_tr ) == 0 :
1290- perf = sum (abs (seq_df ["tr" ] - preds ))
1290+ perf = sum (abs (np . array ( seq_df ["tr" ]) - np . array ( preds ) ))
12911291 else :
12921292 perf = sum (abs (np .array (measured_tr ) - np .array (preds )))
12931293
@@ -1297,13 +1297,31 @@ def calibrate_preds(
12971297 % (m_name , perf / len (preds ))
12981298 )
12991299
1300- if perf < best_perf :
1301- if self .deepcallc_mod :
1302- m_group_name = "deepcallc"
1303- else :
1304- m_group_name = m_name
1305- # TODO is deepcopy really required?
1300+ try :
1301+ if perf < best_perf :
1302+ if self .deepcallc_mod :
1303+ m_group_name = "deepcallc"
1304+ else :
1305+ m_group_name = m_name
1306+
1307+ # TODO is a deepcopy really required?
1308+ best_calibrate_dict = copy .deepcopy (
1309+ mod_calibrate_dict [m_group_name ]
1310+ )
1311+ best_calibrate_min = copy .deepcopy (
1312+ mod_calibrate_min_dict [m_group_name ]
1313+ )
1314+ best_calibrate_max = copy .deepcopy (
1315+ mod_calibrate_max_dict [m_group_name ]
1316+ )
13061317
1318+ best_model = copy .deepcopy (mod_dict [m_group_name ])
1319+ best_perf = perf
1320+
1321+ temp_obs = np .array (measured_tr )
1322+ temp_pred = np .array (preds )
1323+ except :
1324+ # Catch-all to just set the best model to the last one it encountered
13071325 best_calibrate_dict = copy .deepcopy (mod_calibrate_dict [m_group_name ])
13081326 best_calibrate_min = copy .deepcopy (mod_calibrate_min_dict [m_group_name ])
13091327 best_calibrate_max = copy .deepcopy (mod_calibrate_max_dict [m_group_name ])
0 commit comments