在scikit(0.18.1)文档中,我发现后面有点混乱。似乎编写自己的评分函数是可以通过多种方式实现的。但有什么区别?Scorer函数:make_scorer/score_func和
GridSearchCV需要scoring
参数作为一个:
射手可调用对象/功能与签名
scorer(estimator, X, y)
此选项也支持model evaluation docs。
相反,make_scorer想要一个score_func
为:
得分函数(或损失函数)与签名
score_func(y, y_pred, **kwargs)
例
两个GridSearchCV(scoring=dummy_scorer)
和GridSearchCV(scoring=make_scorer(dummy_scorer2))
打印什么期望。
def dummy_scorer(estimator, X, y):
print X
print y
return 1
def dummy_scorer2(y1, y2):
print y1
print y2
return 1
没有得到“交叉验证数据的分数必须自动”,你的意思是自动调用效用函数(在GridSearch循环内?) –
确定后查看您的示例和整个图片(_PredictScorer)[HTTPS:// github上。com/scikit-learn/scikit-learn/blob/master/sklearn/metrics/scorer.py#L74]我看它是如何工作的。谢谢。 –
是的,确切地说。我的意思是在每个交叉验证循环中,通过调用记分器(在训练和测试数据上)自动计算得分, –