如何在HyperGBM中自定义评价指标?
您可通过如下方式其定义一个新的模型评价指标:
定义一个参数 为
y_true
andy_preds
的函数 (not lambda)使用您定义的函数创建一个 sklearn scorer
使用您定义的评价函数和scorer创建实验
参考示例:
from sklearn.metrics import make_scorer, accuracy_score
from hypergbm import make_experiment
from hypernets.tabular.datasets import dsutils
def foo(y_true, y_preds):
return accuracy_score(y_true, y_preds) # replace this line with yours
my_scorer = make_scorer(foo, greater_is_better=True, needs_proba=False)
train_data = dsutils.load_adult()
train_data.columns = [f'c{i}' for i in range(14)] + ['target']
exp = make_experiment(train_data.copy(), target='target',
reward_metric=foo,
scorer=my_scorer,
max_trials=3,
log_level='info')
estimator = exp.run()
print(estimator)