gpt4 book ai didi

python - 二元分类问题中每个概率截止的准确性(python sklearn 准确性)

转载 作者:行者123 更新时间:2023-12-01 00:06:36 29 4
gpt4 key购买 nike

想象一个二元分类问题。假设我在 pred_test 中存储了 800,000 个预测概率。我将 cutoff 定义为 pred_test 中的任何值,以便大于或等于 cutoff 的值被分配值 1 和值小于 cutoff 的值被分配为 0。

sklearn 中是否有一个函数可以返回 pred_train 中每个 cutoff 的模型准确性?我希望看到模型的准确性作为每个截止值的函数,以便系统地选择一个截止值。

我尝试了以下方法:

_list = []
for cutoff in np.unique(np.sort(pred_test)):
binary_prediction = np.where(pred_test >= cutoff, 1, 0)
_list.append( (cutoff, binary_prediction == y_test).sum() / len(pred_test) )

这里,y_test 是基本事实(一个数组,其中包含 800,000 行中每一行的观察结果)。此代码返回一个列表,其中每个值都包含截止值及其相应的准确度分数。

对象 pred_test 有大约 600,000 个不同的值,所以我迭代了 600,000 次左右。上面的代码可以工作,但是需要很长时间才能完成。有没有更有效的方法来做到这一点?我敢打赌,sklearn 已经有一个函数可以做到这一点。

最佳答案

这里有一些类似的线程来检查它:Getting the maximum accuracy for a binary probabilistic classifier in scikit-learn

scikit-learn 中没有内置函数。我认为没有实现这一点的原因是你将有机会过度拟合,你基本上会将你的训练集调整到对测试集有风险的基线。

关于python - 二元分类问题中每个概率截止的准确性(python sklearn 准确性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59935896/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com