请参阅lightgbm.cv,有两个参数让我感到困惑:metrics
和feval
。基于我对gbdt的一点知识,评估指标和评估函数都用于从预测向量和真实标签向量计算损失,例如auc。
然而,metrics
和function
听起来像处理不同的任务。
lightgbm.cv(params,metrics='auc', feval='ks')
,feval='ks'
会覆盖metrics='auc'
吗?答案 0 :(得分:1)
首先,metrics
和function
的一般概念完全不同:从数学角度来看,指标是一个函数({{3} })。虽然这里的度量概念更为广泛,但论证仍然存在。
更具体地说,你的问题;从您链接的文档页面:
- 指标(字符串,字符串列表或无,可选(默认=无)) - 在CV时要监控的评估指标。如果不是“无”,则会覆盖
params
中的指标。- feval (可调用或无,可选(默认=无)) - 自定义评估功能。
注意1)复数指标 s ,可以是字符串列表 2)feval
中的术语自定义
简而言之:
您确实可以在metrics
参数中使用多个可用指标;你的例子应该是:
lightgbm.cv(params,metrics=['auc','ks'])
feval
只应在以下情况下使用另外到您可以使用的metrics
来自现有的metric='auc'
,您还需要自定义<您自己定义的/ em>指标;请参阅示例Wikipedia entry,其中feval = my_err_rate
和my_err_rate
同时使用,并且{{1}}已定义。