Spaces:
Build error
Build error
import tqdm | |
import numpy as np | |
def baseline_predict(metric_function, eval_xs, eval_ys, categorical_feats, metric_used=None, eval_pos=2, max_time=300, **kwargs): | |
""" | |
Baseline prediction interface. | |
:param metric_function: | |
:param eval_xs: | |
:param eval_ys: | |
:param categorical_feats: | |
:param metric_used: | |
:param eval_pos: | |
:param max_time: Scheduled maximum time | |
:param kwargs: | |
:return: list [np.array(metrics), np.array(outputs), best_configs] or [None, None, None] if failed | |
""" | |
metrics = [] | |
outputs = [] | |
best_configs = [] | |
eval_splits = list(zip(eval_xs.transpose(0, 1), eval_ys.transpose(0, 1))) | |
for eval_x, eval_y in tqdm.tqdm(eval_splits, desc='Calculating splits'+str(metric_function)+' '+str(eval_pos)): | |
try: | |
metric, output, best_config = metric_function(eval_x[:eval_pos], | |
eval_y[:eval_pos], | |
eval_x[eval_pos:], | |
eval_y[eval_pos:], | |
categorical_feats, | |
metric_used=metric_used | |
, max_time=max_time) | |
metrics += [metric] | |
outputs += [output] | |
best_configs += [best_config] | |
return np.array(metrics), np.array(outputs), best_configs | |
except Exception as e: | |
print(f'There was an exception in {metric_function}') | |
print(e) | |
return None, None, None |