python – Scikit-learn自定义评分功能

我目前正在使用scikit-learn的开发分支:0.15-git.

尝试使用自定义评分函数初始化RidgeClassifierCV对象当前失败,并显示错误消息TypeError:__ init __()获得了意外的关键字参数’scoring’.

model = RidgeClassifierCV(scoring=make_scorer(score_func))

根据docs,RidgeClassifier采用评分参数.但根据函数签名,参数是score_func.但是,将sklearn.metrics.maker_scorer的输出作为score_func传递也会失败.有任何想法吗?

最终目标是使RidgeClassifierCV使用用于评分函数的多类(一对所有)roc auc分数.

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

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

点赞