在一些情况下,sklearn中没有现成的评价函数,sklearn是允许我们自己的定义的,但需要注意格式,接下来给个例子
import numpy as np
from sklearn.metrics import make_scorer
def logloss(act, pred):
epsilon = 1e-15
pred = sp.maximum(epsilon, pred)
pred = sp.minimum(1-epsilon, pred)
ll = sum(act*sp.log(pred) + sp.subtract(1, act)*sp.log(sp.subtract(1, pred)))
ll = ll * -1.0/len(act)
return ll
#这里的greater_is_better参数决定了自定义的评价指标是越大越好还是越小越好
loss = make_scorer(logloss, greater_is_better=False)
score = make_scorer(logloss, greater_is_better=True)
https://blog.youkuaiyun.com/juezhanangle/article/details/80051256

本文介绍了如何在sklearn中使用自定义函数logloss作为评价指标,并通过make_scorer创建适应不同情况的评分器,适合需要扩展评估标准的场景。

被折叠的 条评论
为什么被折叠?



