Scikit-学习自定义评分功能

时间:2014-06-18 21:00:57

标签: python scikit-learn

我目前正在使用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分数。

1 个答案:

答案 0 :(得分:2)

score_func与现在标准的scikit-learn评分对象相反,而不是y_true, y_pred作为参数estimator, X, y_true。因此,如果您编写了自己的评分函数,可以处理来自Ridge分类器的预测,那么这就是您需要的签名。

虽然不推荐使用score_func,但它似乎是主分支当前状态中的唯一选项。这几乎肯定会随着0.15版本而改变,并且评分对象将可用。这是错误记录的事实是一个差异,当然也应该修复。