我正在尝试制作一个自定义记分器函数,用于在scikit-learn(Python)中交叉验证我的(二进制分类)模型。
我的原始测试数据的一些示例:
Source Feature1 Feature2 Feature3
123 0.1 0.2 0.3
123 0.4 0.5 0.6
456 0.7 0.8 0.9
假设任何折叠可能包含来自同一来源的多个测试示例......
然后对于具有相同来源的一组示例,我希望我的自定义记分员能够"决定" "赢家"作为模型吐出更高概率的例子。换句话说,每个来源只能有一个正确的预测,但如果我的模型声称不止一个评估示例是"正确" (标签= 1),我希望我的得分手能够将概率最高的例子与真相相匹配。
我的问题是得分手功能需要签名:
score_func(y_true, y_pred, **kwargs)
其中y_true
和y_pred
仅包含概率/标签。
然而,我真正需要的是:
score_func(y_true_with_source, y_pred_with_source, **kwargs)
所以我可以根据他们的来源对y_pred_with_source
个例子进行分组,然后选择与y_true_with_source
真相匹配的获胜者。然后我可以继续计算我的精度,例如。
有没有办法以某种方式传递这些信息?也许这些例子'索引?