以下代码无效,其中aucerr
和aoeerr
是自定义评估指标,只有一个eval_metric
aucerr
或aoeerr
正在使用
prtXGB.fit(trainData, targetVar, early_stopping_rounds=10,
eval_metric= [aucerr, aoeerr], eval_set=[(valData, valTarget)])
但是,以下具有内置评估指标的代码正在运行
prtXGB.fit(trainData, targetVar, early_stopping_rounds=10,
eval_metric= ['auc', 'logloss'], eval_set=[(valData, valTarget)])
以下是我的自定义功能
def aucerr(y_predicted, y_true):
labels = y_true.get_label()
auc1 = metrics.roc_auc_score(labels,y_predicted)
return 'AUCerror', abs(1-auc1)
def aoeerr(y_predicted, y_true):
labels = y_true.get_label()
actuals = sum(labels)
predicted = sum(y_predicted)
ae = actuals/predicted
return 'AOEerror', abs(1-ae)