我目前使用的是 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 分数一起工作。
最佳答案
score_func
与现在标准的 scikit-learn 评分对象相反,将 y_true, y_pred
作为参数,而不是 estimator, X, y_true
.因此,如果您编写了自己的评分函数来处理来自 Ridge 分类器的预测,那么这就是您需要的签名。
虽然score_func
被弃用了,但它似乎是master分支目前状态下的唯一选择。这几乎肯定会随着 0.15
版本的发布而改变,并且评分对象将可用。这是一个错误记录的事实,也是一个应该被修复的差异。
关于python - Scikit-learn 自定义评分函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24294940/