我目前正在使用scikit-learn的开发分支:0.15-git。
尝试使用自定义评分函数初始化RidgeClassifierCV
对象时,当前失败并显示错误消息TypeError: __init__() got an unexpected keyword argument 'scoring'
。
model = RidgeClassifierCV(scoring=make_scorer(score_func))
根据docs,RidgeClassifier采用scoring
参数。但根据函数签名,参数为score_func
。但是,将sklearn.metrics.maker_scorer
的输出作为score_func
传递也会失败。有什么想法吗?
最终目标是让RidgeClassifierCV使用用于评分函数的多类(一对所有)roc auc分数。
答案 0 :(得分:2)
score_func
与现在标准的scikit-learn评分对象相反,而不是y_true, y_pred
作为参数estimator, X, y_true
。因此,如果您编写了自己的评分函数,可以处理来自Ridge分类器的预测,那么这就是您需要的签名。
虽然不推荐使用score_func
,但它似乎是主分支当前状态中的唯一选项。这几乎肯定会随着0.15
版本而改变,并且评分对象将可用。这是错误记录的事实是一个差异,当然也应该修复。