为什么当我在roc_auc评分中使用GridSearchCV时,grid_search.score(X,y)和roc_auc_score(y,y_predict)的分数不同?

为什么当我在roc_auc评分中使用GridSearchCV时,grid_search.score(X,y)和roc_auc_score(y,y_predict)的分数不同?,第1张

为什么当我在roc_auc评分中使用GridSearchCV时,grid_search.score(X,y)和roc_auc_score(y,y_predict)的分数不同?

这是由于在GridSearchCV中使用roc_auc时初始化不同。

在这里查看源代码

roc_auc_scorer = make_scorer(roc_auc_score, greater_is_better=True,       needs_threshold=True)

观察第三个参数

needs_threshold
。如果为true,则将需要连续的值(
y_pred
例如,概率置信度得分),这些值将在Gridsearch中从中计算
log_reg.decision_function()

当您显式调用

roc_auc_score
with时
y_pr
,您将使用
.predict()
,它将输出数据的最终预测类别标签而不是概率。那应该解释差异。

尝试:

y_pr=grid_search.decision_function(X)roc_auc_score(y, y_pr)

如果结果仍然不同,请使用完整的代码和一些示例数据来更新问题。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存