python - Scikit-learn 自定义评分函数

标签 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 分数一起工作。

最佳答案

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/

相关文章:

python - IndexError:用作索引的数组在python中必须为整数(或 bool 值)类型

python - 合并并创建具有相同 id 的所有记录的新 JSON 数组

machine-learning - 即使训练和测试数据相同,分类器每次训练都会给出不同的结果

python - 无法识别凝聚聚类的新 distance_threshold 参数

python - sklearn 的metrics.accuracy_score 的结果似乎是错误的

python - scikit 学习输出 metrics.classification_report 为 CSV/制表符分隔格式

python - 如何在 Python 中将函数作为函数参数传递

Python h2o 框架到 np 数组 reshape

python - Pandas python 用字符串替换空行

pandas - 如何打印 Sklearn 中 GridSearch 中使用的召回率和准确率以及参数?